【发布时间】: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