Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.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 使用另一个域上的Cron作业访问站点_Php_Cron - Fatal编程技术网

Php 使用另一个域上的Cron作业访问站点

Php 使用另一个域上的Cron作业访问站点,php,cron,Php,Cron,因此,我们有一个不断增长的域列表,这些域需要一个每日cron作业才能到达其中的一个页面 目前,我在DomainA上有一个脚本,而cron作业是在DomainA上设置的 脚本如下所示: <?php $site_array = array( 'http://demo.DomainA.com/', 'http://demo.DomainB.com/', ... ); foreach( $site_array as $site ){ ob_start();

因此,我们有一个不断增长的域列表,这些域需要一个每日cron作业才能到达其中的一个页面

目前,我在DomainA上有一个脚本,而cron作业是在DomainA上设置的

脚本如下所示:

<?php
$site_array = array(
    'http://demo.DomainA.com/',
    'http://demo.DomainB.com/',
        ...
);

foreach( $site_array as $site ){
    ob_start();
    file_get_contents( $site.'page-to-visit' );
    $temp = ob_get_clean();
    ob_end_clean();
}

?>

此脚本创建所有域的数组,然后使用
file\u get\u contents()
访问页面。唯一的问题是,要访问的每个域
/页面
页面上都有一些PHP,用于在站点内部执行操作

它似乎可以运行DomainA(Cron/Script所在的站点)
页面来访问
脚本,但DomainB似乎没有受到影响。
file\u get\u contents
是否使用了错误的函数?我曾考虑过使用
包含
,但这不适用于跨站点/域

在每个域上创建一个Cron是不可行的,因为它们总是被添加。我希望这是绝对的最后手段。

您确定已启用http请求吗?您应该检查返回值

如果它没有返回
false
,那么所有的php都将被执行,除非有ajax请求,因为javascript不会运行

如果它返回
false
,则可以使用cURL。请注意,javascript/ajax也是如此。

您确定启用了http请求吗?您应该检查返回值

如果它没有返回
false
,那么所有的php都将被执行,除非有ajax请求,因为javascript不会运行


如果它返回
false
,则可以使用cURL。请注意,这同样适用于javascript/ajax。

尽管
file\u get\u contents()
应该可以工作,但请尝试使用curl

<?php
 $site_array = array(
     'http://demo.DomainA.com/',
     'http://demo.DomainB.com/',
        ...
 );

 foreach( $site_array as $site ){
     ob_start();
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $site.'page-to-visit');
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
     $data = curl_exec($ch);
     echo $site . ' : ' . curl_error($ch) . '<br/>';
     curl_close($ch);
     ob_end_clean();
}

虽然
文件获取内容()
应该可以工作,但请尝试使用curl

<?php
 $site_array = array(
     'http://demo.DomainA.com/',
     'http://demo.DomainB.com/',
        ...
 );

 foreach( $site_array as $site ){
     ob_start();
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $site.'page-to-visit');
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
     $data = curl_exec($ch);
     echo $site . ' : ' . curl_error($ch) . '<br/>';
     curl_close($ch);
     ob_end_clean();
}

如何使其能够发出HTTP请求?这就是整个
stream\u context\u create()
thing吗?@Xhynk请参阅手册末尾的注释:和。
file\u get\u contents()
是否返回
false
?如何使其能够发出HTTP请求?这就是整个
stream\u context\u create()
thing吗?@Xhynk请参阅手册末尾的注释:和。
文件是否获取内容()
返回
false