Cpanel共享主机中的Laravel 5.5错误500

Ari*_*tra 2 php cpanel http-status-code-500 laravel laravel-5.5

我已经将laravel项目文件夹上传到cpanel托管中。我没有VPS。我已经阅读了很多有关laracast和stackoveflow的示例,但仍然会收到此500内部错误。这是我的设定。

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

|-- my_other_folder_project/
|-- [some other folders...]
|-- public_html/ 
|   |-- [some other folders...]
|   |-- my_public_project/
Run Code Online (Sandbox Code Playgroud)

并将index.php设置更改为:

require __DIR__.'/../vendor/autoload.php';
Run Code Online (Sandbox Code Playgroud)

require __DIR__.'/../../my_other_folder_project/vendor/autoload.php';
Run Code Online (Sandbox Code Playgroud)

$app = require_once __DIR__.'/../bootstrap/app.php';
Run Code Online (Sandbox Code Playgroud)

$app = require_once __DIR__.'/../../my_other_folder_project/bootstrap/app.php';
Run Code Online (Sandbox Code Playgroud)

我已经为公用文件夹创建了.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 ^(.*)/$ /$1 [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>
Run Code Online (Sandbox Code Playgroud)

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

但是仍然会收到这500个内部服务器错误,我为此寻求了很多参考,但指出了我已经做的步骤。

小智 7

第一次,你可以检查你的php信息

<?php
phpinfo();
?>
Run Code Online (Sandbox Code Playgroud)

你可以在那里搜索“mbstring”......

字符串

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

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


Sky*_*ory 6

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

根据我的经验,当我使用Laravel 5.6时,我的PHP版本仍为7.0,而实际上至少需要PHP 7.1.3时,才出现问题。在cPanel的PHP Selector中更改我的PHP版本可以解决此问题。

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