详解composer创建laravel新项目流程
下面由composer教程栏目带大家详解composer创建laravel新项目流程 ,希望对需要的朋友有所帮助!
一、什么是Composer
长久以来,PHP的开源方式都是项目级的,就是说我一开源就是一个项目,比如一整套的CMS,一个框架,如Codeigniter。为啥呢?其中一个很重要的原因是你不好拆开来,如果拆开来的话,没有一个有效的管理工具组合起来,导致拆开的小模块大家无人问津。
然后Composer就出现了,它负责去管理大家开源的各个小模块,有效的整合到一起,使之成为一个完整的项目。
composer 是一个PHP代码依赖管理工具之一
比方说你的项目需要用到PHPmail这个类库,只要按照composer的格式,composer
就能自动帮你拉下这个代码库到你项目中.
二、安装laravel
首先,使用 Composer 下载 Laravel 安装程序:
composer global require "laravel/installer"
安装laravel
composer create-project --prefer-dist laravel/laravel blog
查看laravel版本
laravel -v
三、创建新项目
1.进入目录
cd /data/www/
2.创建新工程
composer create-project --prefer-dist laravel/laravel blog
该行命令会创建一个叫做blog的项目。ps:已经跑过一次该行代码,再次运行会导致terminal卡住,什么都不显示
3.查看工程目录
进入到工程目录下
subl .
4.后端关注composer.json文件(直接位于blog目录下)
composer.json描述了本项目有哪些依赖
“require”里面看到本项目使用的是laravel框架5.5
然后层层依赖下去
5.前端关注package.json
描述了主要靠mpm依赖包
例如
axios用来发起前端业务请求
cross-env webpack命令
注意:bootstrap默认配置的是sass源码(/resources/assets/sass/app.scss)
6.安装nmp
sudo apt install npm
npm i
安装完成后可以看到,前端依赖的包都放在新生成的node_modules目录下
7.项目创建好后,可以看到已经生成了.env文件
8.浏览器查看本地网页
首先配置好hosts文件(hosts文件位置:/etc/hosts)
127.0.1.1 l.blog.com
浏览器输入l.blog.com
9.查看nginx配置(nginx不负责解析php)
sudo nginx -t
subl nginx目录地址
nginx配置文件是nginx的入口,配置http的基本配置和站点的配置,其中可以引用配置
需要在nginx配置好server才能访问网站,比如设置server_name *.blog.com 在我们输入l.blog.com的时候就会自动匹配到server,然后会去root下/data/www/blog.com/public目录下找php默认页面,就是index.php找执行,于是换成laravel框架,我们的网站就可以访问啦。
此处两个很重要的文件,enable-php.conf和enable-laravel.conf
enable-php.conf负责配置与php的通讯
enable-laravel.conf是手写的,可在laravel文档中查询如何使网站成为符合laravel的文档
location / {
try_files`$uri`$uri/`/index.php$is_args$args;
}
四、Q&A
- Q.出现unexpectedValueException:the stream or file “/data/www/blog.com/storage/logs/laravel.log”could not be open:failed to open stream:Permission denied
A: 说明已经进入laravel框架的范畴
更改文件夹权限sudo chmod -R 777 . 注意:此处R大写
- Q.载入网站的时候一直转圈
A: 按F12检查网站,network发现有一项time一直处于pending状态,其他任务都完成
光标移上去显示是fonts.googleapis.com
是views上一直在引用谷歌的字体,找到views目录下的welcome.blade.php
把此处的raleway字体注释掉就ok
第二种,bootstrap引用的谷歌字体导致转圈
找到/resources/assets/sass/app.scss
发现bootstrap默认在使用raleway的字体库,是谷歌的东西,把它注释掉就ok
注意:此处修改的是sass源码,需要重新编译
npm run prod
- Q.浏览器输入l.blog.com后出现 LNMP一键安装包 页面
A: 这是由于nginx.conf文件没配置好
subl /usr/local/nginx/conf/nginx.conf
重新配置一个server ps:项目最好都放在一个目录下,养成良好的习惯。这里项目路径就好写。
配置server后,对配置文件进行检查
sudo nginx -s reload
sudo nginx -t
检查无误后可以访问项目
以上是详解composer创建laravel新项目流程的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Laravel 是一款 PHP 框架,用于轻松构建 Web 应用程序。它提供一系列强大的功能,包括:安装: 使用 Composer 全局安装 Laravel CLI,并在项目目录中创建应用程序。路由: 在 routes/web.php 中定义 URL 和处理函数之间的关系。视图: 在 resources/views 中创建视图以呈现应用程序的界面。数据库集成: 提供与 MySQL 等数据库的开箱即用集成,并使用迁移来创建和修改表。模型和控制器: 模型表示数据库实体,控制器处理 HTTP 请求。

在使用CraftCMS开发网站时,常常会遇到资源文件缓存的问题,特别是当你频繁更新CSS和JavaScript文件时,旧版本的文件可能仍然被浏览器缓存,导致用户无法及时看到最新的更改。这个问题不仅影响用户体验,还会增加开发和调试的难度。最近,我在项目中遇到了类似的困扰,经过一番探索,我找到了wiejeben/craft-laravel-mix这个插件,它完美地解决了我的缓存问题。

在处理一个包含大量Doctrine实体的项目时,我遇到了一个棘手的问题:每次序列化和反序列化实体时,性能变得非常低效,导致系统响应时间显着增加。我尝试了多种优化方法,但效果不佳。幸运的是,通过使用sidus/doctrine-serializer-bundle,我成功地解决了这个问题,显着提升了项目的性能。

在开发电商平台时,选择合适的框架和工具至关重要。最近我在尝试构建一个功能丰富的电商网站时,遇到了一个棘手的问题:如何快速搭建一个可扩展且功能完善的电商平台。我尝试了多种解决方案,最终选择了Fecmall的高级项目模板(fecmall/fbbcbase-app-advanced)。通过使用Composer,这个过程变得非常简单和高效。可以通过以下地址学习Composer:学习地址

在开发一个电商网站时,我遇到了一个棘手的问题:如何为用户提供个性化的商品推荐。最初,我尝试了一些简单的推荐算法,但效果并不理想,用户的满意度也因此受到影响。为了提升推荐系统的精度和效率,我决定采用更专业的解决方案。最终,我通过Composer安装了andres-montanez/recommendations-bundle,这不仅解决了我的问题,还大大提升了推荐系统的性能。可以通过一下地址学习composer:学习地址

Laravel框架内置了多种方法来方便地查看其版本号,满足开发者的不同需求。本文将探讨这些方法,包括使用Composer命令行工具、访问.env文件或通过PHP代码获取版本信息。这些方法对于维护和管理Laravel应用程序的版本控制至关重要。

在开发一个Laravel应用时,我遇到了一个常见但棘手的问题:如何提升用户账户的安全性。随着网络攻击的日益复杂,单一的密码保护已经不足以保障用户的数据安全。我尝试了几种方法,但效果都不尽如人意。最终,我通过Composer安装了wiebenieuwenhuis/laravel-2fa库,成功地为我的应用添加了双因素认证(2FA),大大提升了安全性。

在开发一个基于Symfony的应用程序时,我遇到了一个棘手的问题:如何有效地验证JSON数据格式。最初,我尝试使用手动编写的验证代码,但这不仅复杂,而且容易出错。经过一番探索,我发现了一个名为ptyhard/json-schema-bundle的Composer包,它为我的项目带来了极大的便利和效率。
