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 jucheshe

查看laravel版本

laravel -v

三、创建新项目

  • 1.进入目录

    cd /data/www/

  • 2.创建新工程

    composer create-project --prefer-dist laravel/laravel jucheshe

    该行命令会创建一个叫做jucheshe的项目。ps:已经跑过一次该行代码,再次运行会导致terminal卡住,什么都不显示

  • 3.查看工程目录

    进入到工程目录下

    subl .

  • 4.后端关注composer.json文件(直接位于jucheshe目录下)

    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.jucheshe.com

    浏览器输入l.jucheshe.com

  • 9.查看nginx配置(nginx不负责解析php)

    sudo nginx -t

    subl nginx目录地址

    nginx配置文件是nginx的入口,配置http的基本配置和站点的配置,其中可以引用配置

    需要在nginx配置好server才能访问网站,比如设置server_name *.jucheshe.com 在我们输入l.jucheshe.com的时候就会自动匹配到server,然后会去root下/data/www/jucheshe.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;

    }

四、创建一个简单的网页

  • 1.创建路由

    配置routes目录下的web.php

Route::get('/aboutus', function () {

return view('aboutus');

});

  • 2.创建视图

    在resources目录下找view目录

    创建新文件aboutus.blade.php

    在这里写html

  • 3.完成访问

    l.jucheshe.com/aboutus

五、Q&A

  • Q.出现unexpectedValueException:the stream or file “/data/www/jucheshe.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.jucheshe.com后出现 LNMP一键安装包 页面

    A: 这是由于nginx.conf文件没配置好

    subl /usr/local/nginx/conf/nginx.conf

    重新配置一个server ps:项目最好都放在一个目录下,养成良好的习惯。这里项目路径就好写。

    配置server后,对配置文件进行检查

    sudo nginx -s reload

    sudo nginx -t

    检查无误后可以访问项目

日记本

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容