确定。我真的很难过这个。
基本上,我需要调用Wordpress插件W3 Total Cache的函数作为crontab中cron作业的一部分。我想每晚自动清除整个页面缓存。
这是我需要在wordpress中正常工作的代码:
if (function_exists('w3tc_pgcache_flush')) {
w3tc_pgcache_flush();
}
我目前正在使用以下脚本:
#!/usr/bin/php
<?php
define('DOING_AJAX', true);
define('WP_USE_THEMES', false);
$_SERVER = array(
"HTTP_HOST" => "http://example.com",
"SERVER_NAME" => "http://example.com",
"REQUEST_URI" => "/",
"REQUEST_METHOD" => "GET"
);
require_once('/path-to-file/wp-load.php');
wp_mail('email@example.com', 'Automatic email', 'Hello, this is an automatically scheduled email from WordPress.');
if (function_exists('w3tc_pgcache_flush')) {
w3tc_pgcache_flush();
}
?>
和命令行:
php -q /path-to-file/flushtest.php
我使用wp_mail函数测试并确保我得到了一些东西。
该脚本工作正常,但页面缓存永远不会被刷新。我收到了电子邮件,日志中也没有任何错误。
有什么想法吗?
感谢您的帮助。
答案 0 :(得分:4)
现在使用更好的版本wp-cli。最新版本(0.9.2.8)与此插件兼容。只需在wordpress目录中的任何位置运行此命令:
wp w3-total-cache flush
答案 1 :(得分:0)
如果订单仍然有效,请稍微更改订单:
w3tc_pgcache_flush(); # let it crash here so that you won't get the mail
wp_mail('email@example.com', 'Automatic email', 'Hello, this is an automatically scheduled email from WordPress.');