【问题标题】:Hosting with OpenShift RedHat get 500 errors when access the website使用 OpenShift RedHat 托管访问网站时出现 500 错误
【发布时间】:2016-04-18 02:50:30
【问题描述】:

我有这个website。我遇到的问题是

freelancer-ngohungphuc.rhcloud.com 页面无法正常工作

freelancer-ngohungphuc.rhcloud.com 目前无法处理此问题 请求。

500

我使用 Laravel 5.1 开发这个网站。所以我必须做些什么来修复这个错误。

【问题讨论】:

  • 您是否授予了项目存储目录的写入权限?
  • 如果你有SSH连接到服务器,进入项目的项目目录。然后执行 chmod 777 -R storage/。这将授予对存储目录的写入权限。如果您使用的是 Cpanel,则必须有一种指定权限的方法
  • 然后右击存储目录,进入属性,然后通过它设置权限。如果您可以在 Filezilla 上使用 WinSCP (winscp.net/eng/download.php) 会更好
  • 是的,repo/目录下的storage文件夹
  • 你上传源代码的地方没有问题。只是权限问题。在 storage/ 目录下设置权限

标签: laravel-5 hosting redhat web-hosting


【解决方案1】:

虽然您通常可以检查日志以了解为什么会收到 500 错误,但这似乎是由于权限不足 - 需要在 storagebootstrap/cache 文件夹上设置(根据 @ 987654321@).

这两个文件夹都需要可由您的网络服务器写入,因此777 权限肯定会起作用,775 应该没问题(而且更安全)。

可以使用以下命令通过命令行执行此操作(如果您需要提升到 root 权限,请使用 sudo 运行它)chomd 777 -R storage bootstrap/cachechomd 775 -R storage bootstrap/cache

通过 FTP 客户端执行此操作是可行的,一般来说,您只需右键单击文件夹并选择从那里编辑权限。

在某些情况下,vendor 可能也需要完成 - 无论如何,根据我的经验。

这些文件夹都在你的 Laravel 应用程序的根项目目录中。

编辑

错误日志底部的摘录:

PHP 解析错误:语法错误、意外的“类”(T_CLASS)、需要标识符 (T_STRING) 或变量 (T_VARIABLE)

这表明您正在运行的 PHP 版本不是 >= 5.5.9(Laravel 要求之一)。

这在 OpenShift 配置的屏幕截图中得到证实。需要更新 PHP 版本才能使 Laravel 正常工作 - 这不仅仅是权限问题。

【讨论】:

  • 仍然无法正常工作,正如你所说,我有更改权限
  • @NgôHùngPhúc 你能看看你的错误日志吗?如果您使用的是 apache Web 服务器,通常它位于/var/log/apache2/error.log。这将告诉您导致错误的原因。
  • @NgôHùngPhúc 当您更改权限时,您是否递归执行此操作以确保在这些文件夹内的所有文件夹上设置它们?
  • 我只在openshift主机上找到this日志文件
  • 我已经设置了 storage,vendor,bootstrap 权限文件夹
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-28
  • 2021-11-23
  • 2016-05-24
  • 1970-01-01
  • 2019-12-07
  • 2012-04-14
  • 1970-01-01
相关资源
最近更新 更多