我有一个问题,我的托管公司不会让我从我的控制面板以这种格式运行一个cron作业:
/usr/bin/php /home/sites/MYDOMAIN.com/index.php?option=com_community&task=cron
或者:
www.MYDOMAINNAME.com/index.php?option=com_community&task=cron
现在如果我在浏览器中运行第二份工作,即:
www.MYDOMAINNAME.com/index.php?option=com_community&task=cron
这在浏览器中运行良好
我的支持说我必须创建一个文件来运行URL。唯一的问题是我不知道如何在PHP中运行URL。我问过几个网站。但没什么。我的文件名为bump.php
,其代码如下:
lynx -dump http://www.MYDOMAIN.com/index.php?option=com_community&task=cron
这就是我在文件中的内容
<?php
echo file_get_contents('DOMAIN.com/index.php?option=com_community&task=cron');
?>
答案 0 :(得分:3)
您必须通过网络服务器访问相关文件,而不是直接通过文件访问。如果你通过文件访问来访问它,它将只返回php代码而不执行它。
如何通过网络服务器访问文件有几个选项。一个是file_get_contents
显示的方法。您需要在网址前添加http://
,告诉PHP您希望远程访问它而不是本地文件。
file_get_contents
并非始终配置为允许远程下载文件。在这些情况下,它将无法正常工作。您可以查看此链接以查看远程访问文件的配置设置:
http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen
另一种解决方案是使用 curl 扩展名(如果可用)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
http://www.php.net/manual/en/function.curl-exec.php
如果卷曲也不可用,还有其他扩展......