【问题标题】:500: Internal server error on Laravel 5.2 project500:Laravel 5.2 项目的内部服务器错误
【发布时间】:2017-08-15 23:07:43
【问题描述】:

我想在实时服务器上上传一个 Laravel 5.2 项目。当我上传它并尝试运行然后给我 500:内部服务器错误。

我该如何解决这个问题?

【问题讨论】:

  • 我们应该怎么知道?至少提供一些更多信息,例如错误消息..
  • 我将所有项目文件保存在 public_html 文件夹和单独的公共文件夹中。但是当我尝试运行时会出错
  • 您是否尝试过检查 /app/storage/logs 中的日志?
  • 我把 index.php 文件改成这样......
  • 需要 DIR.'/bootstrap/autoload.php';

标签: laravel upload laravel-5.2


【解决方案1】:

在大多数情况下,由于文件夹和文件权限而发生此错误(在 laravel 的情况下,可能是 .env 丢失)

要解决此问题,请检查您的文件夹中是否有 .env 文件

如果没有:

生成你的 .env:

cp .env.example .env

生成您的密钥:

php artisan key:generate

之后,为您的 laravel 文件夹授予正确的权限。

进入laravel项目

cd my_project_folder

文件添加644权限,文件夹添加755权限:

find ./ -type f -exec chmod 644 {} \;
find ./ -type d -exec chmod 755 {} \;

清除缓存

php artisan cache:clear
php artisan config:clear
php artisan view:clear

如果出现其他错误,请尝试更新您的作曲家

composer update

【讨论】:

  • 出现错误 500 的原因有很多,这无法解决。缺少必需的 PHP 扩展、不同版本的 PHP、不同的错误报告设置等。最好先查看日志,然后再随机更改所有内容。
  • 我没有随机设置权限,stackoverflow中的很多答案都推荐,here for example
  • 鉴于 OP 的评论,即日志显示 local.ERROR: exception 'ErrorException' with message 'Use of undefined constant apple - assumed 'apple'' 这与权限无关,因此,更改权限毫无意义的随机摆动.
【解决方案2】:

首先检查域是否重定向到您的公用文件夹。

如果是,请检查 .env 文件并连接数据库。 手动清除所有缓存:

Bootstrap : services.php, settings.php 删除

Storage/Framework/Cache 删除所有文件

Storage/Framework/session 删除所有文件

Storage/Framework/views 删除所有文件

或者如果您有 ssh 访问权限:

php artisan cache:clear php artisan config:clear php artisan view:clear

如果还是不行。检查存储文件夹的权限是否正确。 祝你好运:)

【讨论】:

  • 500 错误几乎总是由代码问题引起,并在日志文件中生成有用的错误。对于所描述的问题,这是相当没有意义的。
猜你喜欢
  • 2023-03-04
  • 1970-01-01
  • 2018-08-27
  • 2016-06-19
  • 1970-01-01
  • 2016-07-10
  • 2014-10-25
  • 2015-08-12
  • 1970-01-01
相关资源
最近更新 更多