我刚刚将在localhost(使用XAMPP)开发的Laravel项目部署到服务器。
我上传了所有文件,创建了一个新的.env文件(也得到了一个app-key),运行了composer install,创建了db,运行了artisan migrate。
另外,在
/etc/apache2/sites-enabled/000-default.conf
我将DocumentRoot设置为laravel的公共目录。另外,我尝试编辑apache2.conf
以包含目录,Allowoverride All
。
但是进入我服务器的ip,我会重定向到登录页面(当然,我正在使用Laravel的Auth
)。
但我收到了错误:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
我尝试按照those步骤进行操作,但它们完全相同。除了一点之外,在我的apache2.conf
我不再写了DocumentRoot,因为我已经在000-default.conf
中设置了它。我还尝试在apache2.conf
中第二次设置它,但这没有改变。
那么问题是什么呢?
我正在使用Ubuntu 16.04。
PS:在laravel里面似乎发生了一些事情。当我走一条现有的路线时,我总是得到这个错误代码500.当我去一条不存在的路线时,我得到一个错误(NotFoundHttpException
),所以路由本身有点似乎有效,但这个错误来自哪里?这正是我在XAMPP上使用的本地文件,在本地它运行良好......有什么想法吗?
编辑:编辑我的日志目录以获得777等权限后,我也遇到了2个错误。
两者都指向存储/框架/视图/和存储/框架/会话,说"权限被拒绝"。我是否也必须为这些目录运行chmod?
答案 0 :(得分:1)
检查storage/logs/laravel.log
中的错误,如果没有日志,请确保storage
的目录权限允许其可写775
是我通常使用的。
答案 1 :(得分:0)
好的,我明白了,基本上是权限。
我现在将-jar
文件夹的所有者更改为storage
。现在它正在工作(对于任何可能遇到此问题的人)。
答案 2 :(得分:0)
如果使用vps ubuntu,则必须通过在腻子上使用此命令来设置对根文件夹(及其所有文件,文件夹)的写/读权限:
chown -R www-data:www-data / var / www / html
我尝试了此命令,但我的网站没有显示500错误