Laravel,部署到 LIFE 服务器后出现未知错误,500 内部服务器错误

Mar*_*rri 0 php permissions laravel laravel-8

我刚刚从本地服务器部署了一个 Laravel 8 项目到 LIFE 服务器,显然一切都很顺利,我成功运行了 Composer ( composer update),Composer 没有抛出任何错误消息,LIFE 服务器的域与该文件夹链接/project/public。我也成功运行了php artisan migrate,我可以在数据库中看到artisan创建的表,因此应用程序与数据库正确连接。

我还将主项目文件夹的权限更改为755,存储文件夹的权限更改为777。

sudo chmod -R 777 ./storage
sudo chmod -R 777 ./bootstrap/cache/
sudo chmod -R 664 /mainprojectfolder
Run Code Online (Sandbox Code Playgroud)

我成功地用artisan生成了一个新的KEY,并且我成功地用artisan清除了缓存……也就是说,我已经把网上找到的所有教程都看完了,但问题并没有解决。

php artisan key:generate
Run Code Online (Sandbox Code Playgroud)

我还按照官方文档的建议成功清除了项目缓存:

php artisan config:cache
php artisan route:cache
php artisan view:cache
Run Code Online (Sandbox Code Playgroud)

我还创建了该.htaccess文件:

<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]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

当我浏览服务器 URL 时,我看到浏览器正确重定向到域/登录,这是正确的,只要我未登录应用程序就会重定向到登录页面。然后浏览器显示经典的:500 Internal Server Error - The server encountered an internal error or misconfiguration and was unable to complete your request...

不幸的是,我无法访问服务器日志,因为该服务器是共享虚拟服务器,所以我无法弄清楚问题到底是什么。

大家可以推荐一下吗?

Mar*_*rri 9

经过多次尝试终于找到了解决方案,.htaccess文件错误,我交换了:

RewriteRule ^ index.php [L]
Run Code Online (Sandbox Code Playgroud)

和:

RewriteRule ^ /index.php [L]
Run Code Online (Sandbox Code Playgroud)

/在index.php之前添加了。这已经解决了问题。