簡體   English   中英

從php文件中運行cron作業

[英]Run a cron job from within a php file

我遇到一個問題,我的托管公司不允許我從控制台通過這種格式運行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');

?>

您必須通過網絡服務器訪問有問題的文件,而不是直接通過文件訪問。 如果通過文件訪問來訪問它,它將僅返回php代碼而不執行它。

關於如何通過網絡服務器訪問文件,有幾種選擇。 一種是顯示的file_get_contents方法。 您將需要在URL前面添加http:// ,以告訴PHP您希望其遠程訪問而不是作為本地文件訪問。

並非始終將file_get_contents配置為允許遠程下載文件。 在這些情況下,它將不起作用。 您可以檢查此鏈接以查看用於遠程訪問文件的配置設置: http : //www.php.net/manual/zh/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/zh/function.curl-exec.php

如果curl也不可用,還有其他擴展名...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM