Laravel 5.5 Cpanel 共享主机错误 500

Laravel 5.5 Error 500 in Cpanel Shared Hosting

我已经将我的 laravel 项目文件夹上传到 cpanel 主机。我没有 VPS。我已经在 laracast 和 stackoveflow 中阅读了很多示例,但仍然遇到这个 500 内部错误。这是我的设置。

我已经在我的 laravel 项目中分离了 public 文件夹,并将另一个文件夹放在我的主机的根目录中,就像这样。

|-- my_other_folder_project/
|-- [some other folders...]
|-- public_html/ 
|   |-- [some other folders...]
|   |-- my_public_project/

并将 index.php 设置更改为:

来自

require __DIR__.'/../vendor/autoload.php';

require __DIR__.'/../../my_other_folder_project/vendor/autoload.php';

$app = require_once __DIR__.'/../bootstrap/app.php';

$app = require_once __DIR__.'/../../my_other_folder_project/bootstrap/app.php';

我已经为 public 文件夹创建了 .htaccess 文件,如下所示:

DirectoryIndex index.php

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ / [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

我的 PHP 是 7.1,我已经检查了其他要求,如 OpenSSL、PDO、Mbstring、Tokenizer 已经安装。

但仍然出现 500 内部服务器错误,我为此搜索了很多参考资料,但指出了我已经执行的步骤。

第一次,您可以查看您的php信息

<?php
phpinfo();
?>

你可以在那里搜索 "mbstring"...

如果 mbstring 仍未安装,您可以要求提供商安装。

如果已经安装但仍然出现错误 500,最好您必须在 phpinfo() 中检查您的 php 版本。并使用 php artisan 命令清除缓存。当你有 shell 的权限时,你可以尝试使用命令 "php -v" 检查你的 php 版本并查看默认 php 与 php.

如果服务器的 PHP 版本低于最低版本要求 Laravel,可能会出现错误 500。

根据我的经验,当我使用 Laravel 5.6 时问题就出现了,而我的 PHP 版本仍然是 7.0,而实际上它至少需要 PHP 7.1.3。在 cPanel 中的 PHP 选择器更改我的 PHP 版本解决了这个问题。

确保您服务器的 PHP 版本等于或高于您的 Laravel 版本需要的版本。

只是为了说明我在共享主机上上传时遇到的一些问题以及我是如何保存它的。 错误 500 出现在我的页面上。

经过多方考察, 我发现 public 文件夹和主应用程序中的隐藏文件都没有包含在我的上传中。

所以请确保在 archiving/uploading

之前显示隐藏文件

因为如果不启用显示隐藏文件,它将不会得到 uploaded/archived。

缺少这些文件也会产生 500 错误。

我和 laravel 5.5 一起工作过。*

None 以上解决方案对我有用..所以试过了:

php composer.phar install

在我的共享主机上上传(第一次)我的项目在我的本地机器上构建并且它工作。

确保你有 运行 composer install 并且应该有一个 .env 文件

还要确保文件夹和文件具有正确的权限。以下是正确设置权限的方法。

find /opt/lampp/htdocs -type d -exec chmod 755 {} \;
find /opt/lampp/htdocs -type f -exec chmod 644 {} \;