任何人都有过改变magento admin配置的配置,
清除所有缓存(包括删除缓存文件夹),
但仍然从cronjob加载旧配置值(如果使用浏览器或CURL调用,则加载正确的配置)
注意:
我在AWS Ec2中使用nginx + ubuntu + phpfpm,mysql是RDS
我使用cron.sh作为magento cron
我正在使用具有cronjob加载旧配置的磁性定制模块(甚至核心magento配置值)
不确定cronjob本身是否会缓存,重新启动cronjob可能有帮助(尚未测试),但仍然不知道根本原因。
有什么想法吗?
----只是测试-----
重启cron服务无法正常工作
重启nginx服务无法正常工作
重启php-fpm无法正常工作
重启机器工作
答案 0 :(得分:0)
您可以尝试使用此方法。它应该适用于您的配置。 http://www.emiprotechnologies.com/blog/magento-technical-notes-60/post/automatically-refresh-cache-using-cron-in-magento-307
答案 1 :(得分:0)
终于发现,由于使用ubuntu 的cron作业,那么magento逻辑将是:
如果 var文件夹(所有者为www-data)当前用户无法写入(ubuntu)
然后将写入 / tmp / magento / var / - Mage_Core_Model_Config_Options
因此,所有旧缓存存储在/ tmp / magento / var /中,即使我清除magento后端的缓存,也不会清除此'tmp / magento / var'< /强>
上述问题可以解决 更新var /到777 ,或 手动删除 tmp / magento / var / cache 以愚蠢的方式
然而,如果使用777方式,则会出现另一个问题:
如果 cron用户创建将与www-data共享的日志文件,该文件将不能被www-data写入(默认为644)
另一个解决方案是将 cron用户更改为www-data
<强>然而强>
magento非常特别,cron.sh会调用cron.php和cron.php然后再用bin / sh调用cron.sh
因此 www-data无法访问bin / sh ,然后我无法使用它来运行cron