Хорошо. Я действительно в замешательстве.
По сути, мне нужно вызвать функцию для плагина Wordpress W3 Total Cache как часть задания cron в crontab. Я хочу автоматически очищать весь кэш страниц каждую ночь.
Вот код, который отлично работает в 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, чтобы проверить и убедиться, что я что-то получаю.
Скрипт работает нормально, за исключением того, что кэш страницы никогда не очищается. Я получаю электронное письмо, и в журнале тоже нет ошибок.
Есть идеи?
Спасибо за вашу помощь.