[ laravel ] 踩坑指南
1. 服务器部署的时候
php artisan cache:clear
php artisan session:clear
php artisan views:clear
优化路由加载:php artisan route:clear
优化配置加载:php artisan config:clear
优化自动加载: composer install --optimize-autoloader
2. 解决: Please provide a valid cache path.
在 storage 里创建 frameworkmkdir storage/framework/{cache, sessions, views}
大概就是这样:
3. ERROR: file_put_content(…/storage/framework/sessions/xxxxxxxxx): failed to open stream: Permission denied {xxxxxx…}
解决方案:
特殊的 storage
文件夹 需要把他以及其子文件的权限升到 777,chmod 777 storage -R
4. 多环境 ENV 配置
背景: 假如在项目中有多个.env
文件,例如,
- .env
- .env.local
- env.production
解决方案: (以.env.local
为示例)
- 配置Apache 服务器
SetEnv APP_ENV local
; - Laravel 项目下 对应有
.env.local
, 其中APP_ENV = local
; - laravel 会通过
env('APP_ENV')
根据环境变量APP_ENV
来判断当前具体的环境,假如环境变量APP_ENV
为local
,那么 laravel 将会自动加载.env.local
文件。
5. JWT 获取用户信息
- 需要在ajax请求头中加入
Authorization: Bearer <token>
(注意Bearer 后的空格) - 需要在所调用接口中加入
Request $request
, 然后在auth('api')->user()
获取用户信息