先吐槽一波,刚进公司没几天,就让我学着部署项目到线上服务器。
还好只是让我练手,并不是部署真正的项目,尴尬。但是经过部署,我明白了老大的用意,是让我在实际应用中理解清楚项目各配置文件的作用,加深印象。
首先要知道.env文件中的debug配置,调试问题时可以开启,但调试完要切记关闭:
APP_DEBUG=false
过程磕磕绊绊,把遇到的问题整理如下:
1、错误信息:
No hint path defined for [sudosu].
定位到的错误位置:
@if (app()->isLocal())
@include('sudosu::user-selector')
@endif
其中,sudosu是一个开发中常用到的用户切换工具,sudosu 为了避免生产环境下误开启操作,在配置选项 allowed_tlds
里做了域名后缀的限制(看来就是为了提醒我这种大意的人,0.0)。
这说明在生产环境下误开启了sudosu,打开.env文件发现的确没有修改,切记切记。
APP_ENV=local 修改为 APP_ENV=production
2、错误信息:
SQLSTATE[42000]: Syntax error or access violation: 1055 'XXX' isn't in GROUP BY (SQL: SELECT COUNT(id) AS aggregate FROM
具体的可以在storage/logs下的错误日志中查看。这是数据库方面的错误,这是因为laravel在5.3之后的版本默认设置strict 的值为true。
解决办法:
修改database.php中的内容:
'strict' => true 修改为 'strict' => false