2016-11-04 43 views
0

我刚刚在本地主机(使用XAMPP)开发的Laravel项目部署到服务器。Laravel Ubuntu 16.04返回状态码500

我上传了所有文件,创建了一个新的.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

是的,你必须递归地更改所有'storage'目录的权限。如果您使用的是777,那么'sudo chmod -R 777/path/to/laravel/storage' –

回答

1

检查storage/logs/laravel.log中的错误,如果没有日志那么确保您的目录权限为storage允许它是可写的775是我通常使用的。

+0

似乎没有生成日志,它何时生成?我将文件夹权限设置为775. – user5638730

+0

没有一个红色的标志,权限可能是问题。那里有'storage/logs'目录吗?在此之前,我处理了一个类似的问题,虽然我的权限已被删除,但我的存储目录已被删除。请确保您的存储目录与默认设置相匹配:https://github.com/laravel/laravel/tree/master/storage –

+0

是的,根本没有'laravel.log',目录结构很好,唯一的'logs'文件夹是'gitignore' ...可能有我在整体配置中丢失的东西吗?其实Laravel似乎工作(如上所述),因为未定义的路线抛出这个错误,而现有的路线(如'/ login'),返回这个错误代码500 ... – user5638730

0

好吧,我明白了,基本上就是权限。

我现在将storage文件夹的所有者更改为www-data。现在它正在工作(对于任何可能遇到此问题的人)。

相关问题