下面由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
檢查無誤后可以訪問項目