【问题标题】:Laravel returning server error 500 on CentOS 7Laravel 在 CentOS 7 上返回服务器错误 500
【发布时间】:2019-10-16 23:25:20
【问题描述】:

正如标题所说,我有一个在 CentOS 7 上运行的 VPS,我安装了 Laravel,PHP 7.3 的所有必需品,但它仍然给我“服务器错误 500”。

请注意,这是使用 composer 全新安装的 Laravel。

  • 我的 CentOS 版本是 CentOS Linux release 7.2.1511 (Core)
  • PHP 版本是 PHP 7.3.6 (cli)
  • 我从 PHP 手动安装了所有必要的模块



我已经尝试过的

我已经做了很多研究:

Laravel giving 500 internal error on centos 7 with apache and php 7
我遵循了这些问题的答案所说的内容,对我来说仍然是一样的。

我也确实在其他帖子之后正确设置了权限:
How to set up File Permissions for Laravel 5 (and others)

还有这些
Getting a 500 Internal Server Error on Laravel 5+ Ubuntu 14.04

https://www.ionos.com/community/server-cloud-infrastructure/apache/how-to-fix-http-error-code-500-internal-server-error/

还有很多我在其他网站上阅读的文章。

这些是项目文件夹的权限:
drwxr-xr-x 13 apache apache 4096 May 31 05:23 laravel

以及用于存储:
drwxr-xr-x 5 apache apache 4096 May 31 04:44 storage




尝试生成密钥并得到了这个:

[root@server laravel]# php artisan key:generate

   ErrorException  : file_get_contents(/var/www/laravel/.env): failed to open stream: No such file or directory

  at /var/www/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Console/KeyGenerateCommand.php:96
     92|     {
     93|         file_put_contents($this->laravel->environmentFilePath(), preg_replace(
     94|             $this->keyReplacementPattern(),
     95|             'APP_KEY='.$key,
  >  96|             file_get_contents($this->laravel->environmentFilePath())
     97|         ));
     98|     }
     99|
    100|     /**

  Exception trace:

  1   file_get_contents("/var/www/laravel/.env")
      /var/www/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Console/KeyGenerateCommand.php:96

  2   Illuminate\Foundation\Console\KeyGenerateCommand::writeNewEnvironmentFileWith("base64:soTdeaCmsY1ELnpJLCcYkBJjY6SWiLYwY+Mvoxl9wOw=")
      /var/www/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Console/KeyGenerateCommand.php:80

  Please use the argument -v to see more details.
[root@server laravel]#

【问题讨论】:

  • 能否同时发布您授予服务器上存储文件夹和项目文件夹所有者/组的权限?
  • 还要确保您的 .env 文件包含应用程序密钥。如果不是这种情况,您可以通过键入以下内容生成一个新的:php artisan key:generate
  • @mdexp 我在问题中添加了权限。我试试,谢谢
  • @mdexp 我运行该命令时出错,它说它无法打开.env,还补充说
  • 那你错过了 Laravel 环境配置文件。你应该在全新的 Laravel 安装中有一个 .env.example 文件。复制那个并将其重命名为 .env 然后运行 ​​key:generate 命令

标签: php laravel server centos vps


【解决方案1】:

好像你错过了 Laravel 环境配置文件。

在全新的 Laravel 安装中,您应该有一个 .env.example 文件。复制那个并将其重命名为 .env 然后运行php artisan key:generate 命令。

【讨论】:

    【解决方案2】:

    您是否从您的var/www/laravel/.env.example 文件创建了var/www/laravel/.env 文件?

    【讨论】:

      【解决方案3】:

      所以,我修复了它,正确配置.env 并生成@mdexp 提到的密钥。 因此,对于遇到问题的每个人,请检查我问题中的链接并正确设置所有内容

      【讨论】:

        猜你喜欢
        • 2018-08-09
        • 2016-06-19
        • 2016-09-16
        • 1970-01-01
        • 2019-11-12
        • 2016-06-19
        • 2016-08-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多