我看过这个网站,看看是否有人有这个确切的问题无济于事。 我正在尝试使用file_get_contents下载URL,但是当我在浏览器中键入php脚本的URL时它会起作用,当我通过cron运行脚本时,无法获取该文件。
我已经发出一个邮件命令来查看是否有任何返回(我已经删除了电子邮件地址) - 当我直接运行脚本时,电子邮件的正文包含URL内容但是当通过cron运行时它是空的
$filen = file_get_contents( "http://forum.forteantimes.com/index.php?forums/ghosts-general.18/" );
$to = "xxxx";
$subject = "test";
$from = "xxxx";
$body=$filen;
$headers="From: xxx\n";
$headers.= "To: \"".$to."\" <".$to.">\n";
$headers.= "Return-Path: <".$from.">\n";
$headers.= "MIME-Version: 1.0\n";
$headers.= "Content-type: text/plain; charset=utf-8\n";
mail($to, $subject, $body, $headers);
答案 0 :(得分:0)
您可能正在从cron(即PHP CLI)调用另一个php.ini文件,并且其中的设置可能不同(例如,allow_url_fopen()可能已关闭)。您可以运行php --ini
来检查php.ini的位置并检查其中的设置。您也可以直接在您的文件中调试,如:
try {
file_get_contents( "http://forum.forteantimes.com/index.php?forums/ghosts-general.18/" );
}
catch (Exception $e) {
$body = $e->getMessage();
}