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

问题描述 投票:0回答:2

我刚刚从本地服务器部署了一个 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

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

php artisan key:generate

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

php artisan config:cache
php artisan route:cache
php artisan view:cache

我还创建了

.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>

当我浏览服务器 URL 时,我看到浏览器正确重定向到域/登录,这是正确的,只要我未登录,应用程序就会重定向到登录页面。然后浏览器就显示经典的:

500 Internal Server Error - The server encountered an internal error or misconfiguration and was unable to complete your request...

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

大家可以推荐一下吗?

php laravel permissions laravel-8
2个回答
9
投票

我经过多次尝试终于找到了解决方案,

.htaccess
文件错误,我交换了:

RewriteRule ^ index.php [L]

与:

RewriteRule ^ /index.php [L]

我在index.php之前添加了

/
。这已经解决了问题。


0
投票

我在 public 文件夹中的 index.php 之前添加了 / 。这已经解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.