Php 使用另一个域上的Cron作业访问站点
因此,我们有一个不断增长的域列表,这些域需要一个每日cron作业才能到达其中的一个页面 目前,我在DomainA上有一个脚本,而cron作业是在DomainA上设置的 脚本如下所示: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();
<?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
?