Laravel 5.4除了Front Page之外的所有错误500

时间:2017-03-28 12:42:30

标签: laravel

我有一个功能齐全的laravel应用程序,我是在本地开发的。我通过ftp将它移到服务器上(只是为了向某人显示反馈)。

我将.env中的APP_URL更改为指向/ public文件夹的子域。还更改了数据库信息。其他一切都完全按照原样保留。

我可以毫无问题地访问首页。其他任何内容(例如/ login或任何其他控制器的AJAX)都会导致服务器错误500,在服务器错误日志中不会留下任何痕迹。

当我为/分配不同的路线时,也会显示。我可以显示从数据库中提取数据的页面,因此这不是问题。

本地开发和服务器都在linux上运行apache。

任何指针?

更新:感谢您提供的建议。我目前无法通过ssh(不是我的服务器)访问服务器。我正在努力实现这一目标,并会尽快尝试您的解决方案。

3 个答案:

答案 0 :(得分:0)

确保您的网络服务器具有以下文件夹的读写权限

  1. 公共
  2. 自举/高速缓存
  3. 存储 如果Web服务器没有这些权限,则无法编译视图,存储会话数据,写入日志文件或存储上载的文件。
  4. 将网络服务器设置为所有者:

    假设www-data是您的网络服务器用户。

    sudo chown -R www-data:www-data /path/to/directory
    

答案 1 :(得分:0)

谢谢大家。

在托管公司的帮助下,我们发现了问题。我们所要做的只是添加

RewriteBase /

到laravel自动创建的.htaccess。

答案 2 :(得分:0)

如果你选择它,它并不总是有效,在某些情况下,我还必须在我的 Ubuntu VPS 上 CHGRP 到 www-data。

我是如何检查的:

  1. 域必须指向,如果有 SSL,则必须看到网络浏览器中的挂锁。无论在您的本地主机上,但 Laragon 是设置它最快的。
  2. 现在我知道如果我可以在我的 index.html 文件里面写一些东西我应该看到什么。如果我看不到它,则权限或角色设置错误。
  3. Laravel 在网上(或谷歌)有大量关于如何设置 CHOWN 和 CHGRP 的信息,所以,如果我要克隆一些 repo 或解压缩它,现在的第一件事就是设置这两个。如果这两个正确完成,我可以执行 npm install、composer install - 如果它不是我无法执行的共享主机,而是 VPS 或 localhost。
  4. 现在您应该能够看到 Laravel 的页面,只有 public 和 storage 可能需要与其他页面不同的权限。
  5. .env 文件也应该使用正确的权限创建,如果没有,您将不会键入:例如稍后生成。