一、踩坑
laravel目前爲止的坑
安裝的坑
1、5.8對於PHP的版本要求7.0以上
2、要求php至少要安裝八個要求的拓展
3、即使使用github下載,安裝還是需要使用composer,使用國內鏡像速度相對快一丟
4、所使用的nginx還是apache得配置ssl模塊,php安裝openssl拓展,否則使用鏡像https還是獲取不了
5、安裝完成後還需要啓動內置開發服務器,否則500。php artisan serve
裝完調試的坑
(1)權限的坑
在給登錄的系統用戶歸屬到nginx用戶組下,又給予項目775權限,依然寫訪問不了一些文件。主要是因爲我之前的php用戶組是www,而nginx的用戶組是www-data,更改php用戶組必定牽扯到一一堆權限的更改。www用戶需追加歸屬到www-data用戶組或者storge目錄直接給777權限
(2)500服務器error
nginx或者apache的入口需安裝手冊的配置,使用@string變量
(3)404error
laravel已經定義了404錯誤等配置,如nginx也定義的話顯然比laravel執行層級要高,所以需將nginx配置的404判斷註釋。
使用過程的坑
(1)命名空間不存在,除了打錯路徑,也有可能是你文件少了.php後綴
(2)更改了路由一直錯誤不生效,需要清除下路由緩存php artisan route:cache
(3)同2狀況一樣,配置更改了也要清除緩存php artisan config:cache
(4)session和cookie框架有配置token保護,所以模板傳值還需要加個" _token: “{{csrf_token()}}”
(5)laravel的路由表達式使用正斜‘/’,而路由地址使用反斜‘\’,操作名引用使用@
(6)模板使用路徑是後級路徑是“.”而不是‘/’
二、Laravel5和TP5
(1)laravel5 (2)TP5
使用手冊
(1)laravel到目前爲止感覺手冊寫的挺詳細的(√)
(2)tp雖然也能理解,但有的地方太過簡介了
下載安裝
(1)laravel的安裝要求真的很多,雖然現在有一鍵安裝和專屬虛擬機,但手動還是安裝的挺麻煩
(2)tp不需要鏡像,安裝過程相較之下和諧(√)
環境變量配置
(1)laravel的環境配置使用.env重寫config配置文件,直接=號賦值看着不要太爽。也就意味着換環境很簡單1只需要配置多個.env手動切換,2使用nginx配置進行切換(√)
(2)tp的環境配置則需要手動配置邏輯上多個config環境,沒有.env重寫
中間件攔截
(1)laravel使用自帶中間件類配合路由配置,進行訪問權限配置很輕鬆
(2)tp純路由配置使用起來稍顯複雜,但是功能也很齊全
防跨站請求CSRF
(1)laravel所有的表單提交需帶{{ csrf_field() }}參數,ajax則" _token: “{{csrf_token()}}”。接收時會自動驗證。(√)
(2)tp則是表單令牌,表單添加{:token()},同時驗證器還需要加驗證|token
三、error尋找途徑總結
- 檢查環境運行狀態(nginx、php等)
- 開啓debug模式
- F12前臺查看console,後臺看respond結果和錯誤碼等等
- 查看服務器日誌文件等
- 查看所使用框架或技術的技術點特性(例如laravel對session和cookie進行統一加密,如摻雜原生則涼)
- 如使用最新版應查看版本更新日誌有無大變化(例如我之前使用weui時,在1.0開始命令方式大變化)
- 檢查用戶權限及歸屬
- 查看所使用服務商的使用說明
- 檢查防火牆及端口
- 清楚緩存重新運行