Laravel 5.3 - 在共享主机上清除配置缓存

35

目前我正在进行一个小项目,需要我在共享主机上托管我的laravel应用程序(请忽略为什么我没有使用VPS来托管我的laravel项目),而此托管服务提供商出于安全原因禁用了escapeshellarg()函数,所以我无法使用 php artisan config:cache 命令来清除配置缓存。

是否有任何解决方法?

7个回答

87

config:clear 命令仅删除 bootstrap/cache/config.php 文件,因此只需手动删除该文件即可。


在阅读了所有其他解决方案后,这个答案(https://dev59.com/wVgQ5IYBdhLWcg3w6IOg#43446010)解决了我的问题。 - Mohal
您也可以手动修改缓存的配置文件。只是一点提示。 - Ahmet Firat Keler
救命稻草!终于解决了共享主机上的500错误! - Kida

19

你可以以编程方式调用工匠命令。

Artisan::call('config:clear');

在PHP用户和FTP用户具有不同权限的设置中,这可能会有所帮助(因此,由PHP创建的文件无法通过FTP进行删除)


14

8
尝试使用此命令一次性清除所有缓存数据。
php artisan optimize:clear

1
因为Laravel 5现在已经被弃用,所以答案不够好。

因此我将解释Laravel > 7

我阅读了所有的答案,但是没有一个包含optimize:clear,所以我想为未来的用户编写我的答案。

optimize:clear是清除所有缓存最强大命令

在Laravel >= 7中,您可以使用此命令清除所有缓存

命令:

php artisan optimize:clear

它将清除:已编译的视图应用程序缓存路由缓存配置缓存已编译的服务和包
这不会有任何害处,也不会影响您代码中的任何单行内容。它只是清除所有缓存文件。
运行此命令后,您将看到:
Compiled views cleared!
Application cache cleared!
Route cache cleared!
Configuration cache cleared!
Compiled services and packages files removed!
Caches cleared successfully!

这会终止所有已登录用户的会话,因此并不是无害的。 - tmath

0

这是我在生产环境中重新启动队列服务器的方法

## Restart redis and terminate curent jobs
php artisan config:clear ## clear config
sudo -i
cd /var/www/html
php artisan horizon:terminate ## need to be sudo , else throw permission error
php artisan queue:restart
exit

0

这是一个非常好用的小型库,适用于共享主机和清晰地输入一系列命令。

只需安装一次,就可以通过一个命令轻松解决 Laravel 中的所有缓存问题。

Laracake

非常方便实用。

composer require laracake/clearall --dev

安装完成后
php artisan laracake:clear

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接