下面由composer教程欄目帶大家詳解composer創(chuàng)建laravel新項(xiàng)目流程 ,希望對(duì)需要的朋友有所幫助!
一、什么是Composer
長(zhǎng)久以來(lái),PHP的開源方式都是項(xiàng)目級(jí)的,就是說(shuō)我一開源就是一個(gè)項(xiàng)目,比如一整套的CMS,一個(gè)框架,如Codeigniter。為啥呢?其中一個(gè)很重要的原因是你不好拆開來(lái),如果拆開來(lái)的話,沒(méi)有一個(gè)有效的管理工具組合起來(lái),導(dǎo)致拆開的小模塊大家無(wú)人問(wèn)津。
然后Composer就出現(xiàn)了,它負(fù)責(zé)去管理大家開源的各個(gè)小模塊,有效的整合到一起,使之成為一個(gè)完整的項(xiàng)目。
composer 是一個(gè)PHP代碼依賴管理工具之一
比方說(shuō)你的項(xiàng)目需要用到PHPmail這個(gè)類庫(kù),只要按照composer的格式,composer
就能自動(dòng)幫你拉下這個(gè)代碼庫(kù)到你項(xiàng)目中.
二、安裝laravel
首先,使用 Composer 下載 Laravel 安裝程序:
composer global require "laravel/installer"
安裝laravel
composer create-project –prefer-dist laravel/laravel blog
查看laravel版本
laravel -v
三、創(chuàng)建新項(xiàng)目
1.進(jìn)入目錄
cd /data/www/
2.創(chuàng)建新工程
composer create-project –prefer-dist laravel/laravel blog
該行命令會(huì)創(chuàng)建一個(gè)叫做blog的項(xiàng)目。ps:已經(jīng)跑過(guò)一次該行代碼,再次運(yùn)行會(huì)導(dǎo)致terminal卡住,什么都不顯示
3.查看工程目錄
進(jìn)入到工程目錄下
subl .
4.后端關(guān)注composer.json文件(直接位于blog目錄下)
composer.json描述了本項(xiàng)目有哪些依賴
“require”里面看到本項(xiàng)目使用的是laravel框架5.5
然后層層依賴下去
5.前端關(guān)注package.json
描述了主要靠mpm依賴包
例如
axios用來(lái)發(fā)起前端業(yè)務(wù)請(qǐng)求
cross-env webpack命令
注意:bootstrap默認(rèn)配置的是sass源碼(/resources/assets/sass/app.scss)
6.安裝nmp
sudo apt install npm
npm i
安裝完成后可以看到,前端依賴的包都放在新生成的node_modules目錄下
7.項(xiàng)目創(chuàng)建好后,可以看到已經(jīng)生成了.env文件
8.瀏覽器查看本地網(wǎng)頁(yè)
首先配置好hosts文件(hosts文件位置:/etc/hosts)
127.0.1.1 l.blog.com
瀏覽器輸入l.blog.com
9.查看nginx配置(nginx不負(fù)責(zé)解析php)
sudo nginx -t
subl nginx目錄地址
nginx配置文件是nginx的入口,配置http的基本配置和站點(diǎn)的配置,其中可以引用配置
需要在nginx配置好server才能訪問(wèn)網(wǎng)站,比如設(shè)置server_name *.blog.com 在我們輸入l.blog.com的時(shí)候就會(huì)自動(dòng)匹配到server,然后會(huì)去root下/data/www/blog.com/public目錄下找php默認(rèn)頁(yè)面,就是index.php找執(zhí)行,于是換成laravel框架,我們的網(wǎng)站就可以訪問(wèn)啦。
此處兩個(gè)很重要的文件,enable-php.conf和enable-laravel.conf
enable-php.conf負(fù)責(zé)配置與php的通訊
enable-laravel.conf是手寫的,可在laravel文檔中查詢?nèi)绾问咕W(wǎng)站成為符合laravel的文檔
location / {
try_files`$uri`$uri/`/index.php$is_args$args;
}
四、Q&A
- Q.出現(xiàn)unexpectedValueException:the stream or file “/data/www/blog.com/storage/logs/laravel.log”could not be open:failed to open stream:Permission denied
A: 說(shuō)明已經(jīng)進(jìn)入laravel框架的范疇
更改文件夾權(quán)限sudo chmod -R 777 . 注意:此處R大寫
- Q.載入網(wǎng)站的時(shí)候一直轉(zhuǎn)圈
A: 按F12檢查網(wǎng)站,network發(fā)現(xiàn)有一項(xiàng)time一直處于pending狀態(tài),其他任務(wù)都完成
光標(biāo)移上去顯示是fonts.googleapis.com
是views上一直在引用谷歌的字體,找到views目錄下的welcome.blade.php
把此處的raleway字體注釋掉就ok
第二種,bootstrap引用的谷歌字體導(dǎo)致轉(zhuǎn)圈
找到/resources/assets/sass/app.scss
發(fā)現(xiàn)bootstrap默認(rèn)在使用raleway的字體庫(kù),是谷歌的東西,把它注釋掉就ok
注意:此處修改的是sass源碼,需要重新編譯
npm run prod
- Q.瀏覽器輸入l.blog.com后出現(xiàn) LNMP一鍵安裝包 頁(yè)面
A: 這是由于nginx.conf文件沒(méi)配置好
subl /usr/local/nginx/conf/nginx.conf
重新配置一個(gè)server ps:項(xiàng)目最好都放在一個(gè)目錄下,養(yǎng)成良好的習(xí)慣。這里項(xiàng)目路徑就好寫。
配置server后,對(duì)配置文件進(jìn)行檢查
sudo nginx -s reload
sudo nginx -t
檢查無(wú)誤后可以訪問(wèn)項(xiàng)目