我正在使用Facebook SDK在我自己的Facebook頁面上發佈一些測試牆貼。它工作正常,當我在我的瀏覽器上運行腳本,但是當我從終端運行它,它給了我如下面的錯誤,我不知道什麼是錯的請幫助。我想每6個小時使用php CRON腳本在我的Facebook頁面上發佈。爲什麼我得到未定義的索引:HTTP_HOST錯誤?
未定義指數:在Facebook的/ src目錄/ base_facebook.php
我正在使用Facebook SDK在我自己的Facebook頁面上發佈一些測試牆貼。它工作正常,當我在我的瀏覽器上運行腳本,但是當我從終端運行它,它給了我如下面的錯誤,我不知道什麼是錯的請幫助。我想每6個小時使用php CRON腳本在我的Facebook頁面上發佈。爲什麼我得到未定義的索引:HTTP_HOST錯誤?
未定義指數:在Facebook的/ src目錄/ base_facebook.php
這個cron HTTP_HOST錯誤執行PHP不是像Apache的一個模塊,所以很多的環境變量沒有被服務器設置。當從cron執行時,你的PHP腳本就像GCI一樣,更確切地說是它的CLI(命令行界面 - php-cli)。正如你可以想象的那樣,沒有Web服務器,也沒有HTTP_HOST。
PS:可以作爲命令行參數傳輸數據(網址,主機名或任何你喜歡)到PHP:Command line usage
增加:
$php -f cronjob.php HTTP_HOST=www.mysite.com #example
<?php
// cronjob.php
$host = $_GET['HTTP_HOST']; // Get the host via GET params
?>
如果從終端運行腳本,或一個cron作業,沒有HTTP環境。
可能的解決方案是使用wget http://.../parameters
而不是php scriptname
運行腳本。
@Mogria,我在上面添加了。 – Rolice