我写了wordpress插件。包含curl代码的。。。
当我打开wordpress站点Ex时(http://localhost/wordpress 或http://localhost/wordpress/wp-admin ,...) 此插件正在运行。但是我想每天运行这个插件,永远不要打开url。。
我使用cron\\u schedules函数,但问题没有解决。。
这部分代码
$ch = curl_init ("http://widgets.farsnews.com/currency/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_USERAGENT,\'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13\');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_ENCODING, \'UTF-8\');
$page = curl_exec($ch);
$dom = new DOMDocument(\'1.0\', \'utf-8\');
libxml_use_internal_errors(true);
$dom->loadHTML($page);
libxml_clear_errors();
$xpath = new DOMXpath($dom);
SO网友:Austin Curtis
正如您所提到的,WordPress默认情况下仅在访问WordPress站点时运行wp\\u cron。如果您需要可靠地安排一些活动,并且您的站点没有获得一致的流量,那么这当然会导致问题。
要解决这个问题,您可以通过在wp配置中添加以下行来禁用wordpress cron的默认功能。php文件:
define(\'DISABLE_WP_CRON\', true);
禁用默认cron后,您可以在您的计算机(您的Web主机或本地计算机,无论您在哪个环境下运行此站点)上添加一个普通的Unix cron来加载wp cron。定期为您的域创建php。您可以添加这样的cron(将域替换为您自己的域):
/15 * * * wget -q -O – http://yourdomain.com/wp-cron.php?doing_wp_cron
这将导致WordPress站点每15分钟运行一次cron,与加载页面的流量无关。
How to set up a Linux/Unix Cron:
How to set up a Cron with cPanel or Plesk: