gpt4 book ai didi

php - 将 laravel 站点移至 Centos 服务器时找不到类 'Config'

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:56 24 4
gpt4 key购买 nike

我目前有一个 laravel 5.8 实例在我的本地机器上运行,我将文件移到了在 Centos 上运行的暂存服务器上。我最近将那里的 PHP 版本更新到 7.3,当时是 5.4 现在我正在尝试启动服务器并显示网页,但我不断收到一个奇怪的错误。

我已经重启了整个服务器。

我去了/var/www/myproject/public_html/staging/app/Exceptions/Handler.php:50(虽然这是供应商文件)

    public function report(\Exception $e)
{
if ($e instanceof \Exception) {

$debugSetting = Config::get('app.debug');

Config::set('app.debug', true); //<--- This is line 50
//echo "<pre>" . $e . "</pre>";
$data = ['content' => $e->getMessage(),'line' => $e->getLine(),'trace' => $e->getTraceAsString()];




Config::set('app.debug', $debugSetting);
}

return parent::report($e);
}

如果您熟悉 Laravel,您就会知道 Config 是项目核心功能的一部分,如果它无法访问它,则意味着有其他问题导致它无法正确设置或实例化不正确。

我刚刚尝试运行 composer update 或 composer install 但这个错误也阻止了我。

我还检查了 httpd/ssl_error_log,它说的错误几乎与下面显示的相同

PHP Fatal error:  Uncaught Error: Class 'Config' not found in /var/www/myproject/public_html/staging/app/Exceptions/Handler.php:50\nStack trace:\n#0 /var/www/myproject/public_html/staging/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(314): App\\Exceptions\\Handler->report(Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))\n#1 /var/www/myproject/public_html/staging/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(122): Illuminate\\Foundation\\Http\\Kernel->reportException(Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))\n#2 /var/www/myproject/public_html/staging/public/index.php(57): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))\n#3 {main}\n  thrown in /var/www/myproject/public_html/staging/app/Exceptions/Handler.php on line 50

我的错误

PHP Fatal error:  Uncaught Error: Class 'Config' not found in 
/var/www/myflexca/public_html/staging/app/Exceptions/Handler.php:50
Stack trace:
#0
/var/www/myproject/public_html/staging/vendor/laravel/framework/src/Illuminat/
Foundation/Console/Kernel.php(367): App\Exceptions\Handle->report(Object(Symfony\Component\Debug\Exception\FatalThrowableError))
#1
/var/www/myproject/public_html/staging/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(132):
Illuminate\Foundation\Console\Kernel->reportException(Object(Symfony\Component\Debug\Exception\FatalThrowableError))
#2 /var/www/myproject/public_html/staging/artisan(35):
Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput),
Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 {main}
thrown in
/var/www/myproject/public_html/staging/app/Exceptions/Handler.php on line 50

解决方案

我通过更改来解决这个问题

use Config;

在顶部

use Illuminate\Support\Facades\Config;

它之后只是出现了更多错误,但它已经超过了这个错误。

真正的问题

我的 Laravel 依赖项不是最新的。真正的解决方案是重新安装 Laravel 以获取依赖项。

composer global require laravel/installer

最佳答案

如果您刚刚从 PHP 版本更改,您可能拥有旧 PHP 5.x 版本的供应商文件,其中包含新版本 PHP 7.x 的遗留/弃用代码

基于此,我建议删除 composer.lock 文件,以及 vendor 文件夹,然后使用 composer install 再次执行 composer >.

由于 composer.lock 不再存在,它将为您的新 PHP 版本进行全新安装。

希望对您有所帮助。

关于php - 将 laravel 站点移至 Centos 服务器时找不到类 'Config',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56084584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com