• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

laravel 在执行 php artisan config:cache 命令后网站出现了样式错误及 500错误

武飞扬头像
Luke
帮助216

#问题

今天网站更新后,使用了config:cache 缓存配置,网站大范围打不开了,出现了500错误及ENV读取不出来

php artisan config:cache

#原因

我这个情况是因为,PHP使用了opcache 导致的,在更新网站的时候,需要先清理 opcache 的代码缓存, 否者就算使用 config:cache 缓存了新配置, 在PHP的opcache中

缓存的时候就代码,需要先清除。

在运行  php artisan config:cache 后
laravel 会在 bootstrap/cache 文件夹下 会生成一个 config.php 和 route.php 文件
这个文件中包含了 config 文件夹下的所有文件内容 及 .env 配置文件

#解决

正确的执行清理缓存,按照以下方式执行命令即可

php artisan config:clear

正确的部署Laravel优化方式如下

composer dump-autoload --optimize
php artisan route:cache
php artisan view:cache
php artisan config:cache
php artisan optimize

然后清理 opcache 缓存,这有几个注意的地方

1、如 PHP 以 PHP-FPM 的方式运行的时候,opcache的缓存是无法通过php命令进行清除的,只能通过http或cgi到php-fpm进程的方式来清除缓存,我们可以编写一个对外接口,来达到清理缓存的目的。

Route::any('cache-reset', function () {
  //重置整个Opcode缓存
  dd(opcache_reset());
});

2、如果不是用 PHP-FPM, 可以使用如下命令

// opcache:clear 清理缓存
php artisan opcache:clear
// 进行缓存
php artisan opcache:optimize

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanehke
系列文章
更多 icon
同类精品
更多 icon
继续加载