Laravel 上线最佳实践到底是怎么样的?
学习 Laravel 一段时间了,现在最大一点疑惑在项目部署上。
云服务器基础软件安装没什么问题,因为直接用 summer 的脚本,都自动配置好了。
问题在如何把项目上线运行。我自己是用 Git 直接把代码从 Github 上拉到服务器 Web 目录上,然后配置一下 .env 和运行几个 artisan 命令。
但线上和本地总是有不同,有时是目录权限问题(例如 storage 权限),有时是其他问题,总是要调一下才能顺利运行。问题是我现在只会一个方法来调试:就是在线上打开 debug 选项。但这样 Laravel 会把 env 里的内容全暴露出来(mysql 用户、密码,还有一些包的 account 和 key 等等)!!别人如果刚好访问了,安全问题巨大啊!!如果不打开 debug 吧,页面就空白只显示一句 something went wrong 的英文,根本不知道哪里出错了。看 storage 里的 laravel.log 又很不直观,看不出来。
大家上线遇到问题是怎么调试的呢?直接打开 debug,虽然能显示出错内容,但服务器秘密都被暴露出来了。不打开 debug ,那怎么知道出错地方在哪里?
或者说项目上线的最佳实践是怎样的?既能安全调试,又不会把服务器信息暴露出去?
推荐文章: