Magento Cronjob缓存配置

时间:2017-01-04 02:10:05

标签: php magento caching cron

任何人都有过改变magento admin配置的配置,

清除所有缓存(包括删除缓存文件夹),

但仍然从cronjob加载旧配置值(如果使用浏览器或CURL调用,则加载正确的配置)

注意:

  1. 我在AWS Ec2中使用nginx + ubuntu + phpfpm,mysql是RDS

  2. 我使用cron.sh作为magento cron

  3. 我正在使用具有cronjob加载旧配置的磁性定制模块(甚至核心magento配置值)

  4. 不确定cronjob本身是否会缓存,重新启动cronjob可能有帮助(尚未测试),但仍然不知道根本原因。

    有什么想法吗?

    ----只是测试-----

    重启cron服务无法正常工作

    重启nginx服务无法正常工作

    重启php-fpm无法正常工作

    重启机器工作

2 个答案:

答案 0 :(得分:0)

答案 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