我有一个非常简单的文件,只有一行:
echo file_get_contents( get_template_directory_uri().\'/scheduler.php\' );
cpanel cron使用php-q调用此文件。当我在没有get\\u template\\u directory\\u uri函数的情况下放置完整链接时,一切正常,使用此函数cron返回对未定义函数的调用get_template_directory_uri()
我有一个非常简单的文件,只有一行:
echo file_get_contents( get_template_directory_uri().\'/scheduler.php\' );
cpanel cron使用php-q调用此文件。当我在没有get\\u template\\u directory\\u uri函数的情况下放置完整链接时,一切正常,使用此函数cron返回对未定义函数的调用get_template_directory_uri()
当您在CLI上运行时(这与Cronjob和runwhen 作业正在运行),则您无法访问某些内容,如某些服务器或请求变量内容等。您需要做的是启动WP核心。否则您将无法访问完整的WP API。
一种方法是使用wp-cron API,但通过设置
define( \'DISABLE_WP_CRON\', TRUE );
在您的wp-config.php
文件然后目标[~/wp-cron.php
] 直接-何处~
将是您的域。请记住,在多站点/网络设置中运行时,可能需要设置适当的子域或子目录。WordPress从该文件中加载整个core,然后在cron作业期间运行每个定义的(虚拟)cron作业。
不起作用的地方(内部打开线/wp-cron.php
):
// No connection to the browser/client needed
ignore_user_abort( TRUE );
if (
! empty( $_POST )
OR defined( \'DOING_AJAX\' )
OR defined( \'DOING_CRON\' )
)
die();
因为你需要先加载WordPress!
require \'path/to/wordpress/wp-load.php\';
如果用户访问一个站点,并且他的访问触发了一个非常密集的cron作业,那么页面加载速度对他来说会较慢,对吗?据我所知,页面在加载之前不会等待cron作业执行,但由于cron作业将并行运行,因此页面加载可能仍然会变慢,因为服务器很忙,对吗?