Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WordPress Real Cron作业返回空站点选项_Php_Wordpress_Cron - Fatal编程技术网

Php WordPress Real Cron作业返回空站点选项

Php WordPress Real Cron作业返回空站点选项,php,wordpress,cron,Php,Wordpress,Cron,我开发了一个WordPress站点,该站点禁用了标准的wp_cron,并实现了一个真正的cron作业。cron的设置如下所示: “c:\Program files\php\php.exe”E:\SiteRootFolder\wpcron.php 这似乎很有效。但是,当cron启动并运行函数文件中的代码时,WordPress函数,如home\u url,wp\u get\u attachment\u image\u src,get\u permalink,get\u stylesheet\u di

我开发了一个WordPress站点,该站点禁用了标准的wp_cron,并实现了一个真正的cron作业。cron的设置如下所示:

“c:\Program files\php\php.exe”E:\SiteRootFolder\wpcron.php

这似乎很有效。但是,当cron启动并运行函数文件中的代码时,WordPress函数,如
home\u url
wp\u get\u attachment\u image\u src
get\u permalink
get\u stylesheet\u directory\u uri
和其他函数要么不工作(返回空值),要么返回奇数值(
get\u stylesheet\u directory\u uri
返回
http:///wp-content/themes/theme-folder-name
而不是正确地包含url)。然而,其他功能,如
$wpdb->get_results($querystr)
wp_get_post_terms
似乎工作正常

当我在WordPress管理员中运行函数时(我添加了一个按钮来启动函数,以便管理员可以根据需要启动作业),一切工作都很完美。但当它从真正的cron作业运行时,所有这些重要功能都会中断


这是什么原因?当真正的cron运行时,是否有对丢失文件的引用?

您必须从web服务器上下文调用
wp cron.php
,而不是直接使用php可执行文件。下面是一个页面,介绍的是为CentOS编写的一些详细信息,但您可以使用Windows获得相同的结果

简言之,假设您的域是
example.com
,并且希望每5分钟运行一次WP-cron,那么您的cron作业应该类似于以下内容。这将调用
wp cron.php
,并定义所有适当的
$\u服务器
变量,以提供许多WordPress函数的预期值


*/5****curl.exe--静默http://example.com/wp-cron.php?doing_wp_cron

这是意料之中的。您是从命令行运行它的,因此通常通过Web服务器运行时设置的所有$\u服务器参数都不可用,wp会丢失大部分上下文。@MarcB,您对如何解决此问题有什么建议吗?工作非常好!非常感谢。如果任何人需要有关上述cron代码的更多信息,请访问