从php文件中运行cron作业

时间:2014-05-26 14:58:15

标签: php

我有一个问题,我的托管公司不会让我从我的控制面板以这种格式运行一个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');

?>

1 个答案:

答案 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

如果卷曲也不可用,还有其他扩展......