2

Facebook SDK を使用して、自分の Facebook ページにテスト ウォール投稿を投稿しています。ブラウザでスクリプトを実行すると問題なく動作しますが、ターミナルから実行すると以下のようなエラーが表示されます。何が問題なのかわかりません。助けてください。6時間ごとにphp CRONスクリプトを使用してFacebookページに投稿したいと思います。

未定義のインデックス: Facebook/src/base_facebook.php の HTTP_HOST エラー

4

2 に答える 2

11

cron は、Apache のモジュールとは異なり、PHP を実行するため、多くの環境変数はサーバーによって設定されません。cron から実行する場合、PHP スクリプトは GCI スクリプト、より正確にはその CLI (コマンド ライン インターフェイス - php-cli) に似ています。ご想像のとおり、Web サーバーも HTTP_HOST もありません。

PS: コマンド ライン引数 (環境変数) としてデータ (URL、ホスト名、または任意のもの) を PHP に転送できます:コマンド ラインの使用法

添加:

$php -f cronjob.php HTTP_HOST=www.mysite.com #example


<?php
    // cronjob.php
    $host = $_GET['HTTP_HOST']; // Get the host via GET params
?>
于 2012-10-10T11:24:31.367 に答える
0

ターミナルまたは cron ジョブからスクリプトを実行する場合、HTTP 環境はありません。

wget http://.../parametersこれに対する可能な解決策は、 with の代わりにa を使用してスクリプトを実行することphp scriptnameです。

于 2012-10-10T11:24:51.707 に答える