2

次のコマンドでCronジョブを正常に実行しています。

php -q www/download.php

ただし、次のようにクエリ文字列を追加すると、ジョブの実行に失敗します。

php -q www/download.php?multiclient=true

コマンドのファイルパスを次のように一重引用符で囲んでみましたが、成功しませんでした。

php -q 'www/download.php?multiclient=true'

私の知る限り、クエリ文字列をCronジョブに入れることは許容されますが、この場合は機能しません。

どんな助けでも大歓迎です。

どうもありがとう

4

2 に答える 2

0

このようにパラメータを渡すことができます

php <path to cron file>/cronfile.php param1 param2

cronfile.phpでパラメーターを取得します

print_r($argv) 
于 2013-10-22T07:11:39.267 に答える
0

このようなクエリ文字列を指定することはできません。

この場合、インタプリタは "download.php?multiclient=true" というリテラル ファイルを探しますが、クエスチョン マークの後の部分はクエリ文字列として解釈しません。

簡単な解決策は、次のように、インターパーターを直接呼び出すのではなく、cronjob を変更して http リクエストを作成することです。

wget -qO - http://your.sever/download.php?multiclient=true

または、環境変数を使用してパラメーターを渡すこともできます。これは、GGI を使用するときにパラメーターが渡される方法です。私はこれを試していませんが、php-cgiの代わりに使用する必要がある場合があります。詳細については、この質問phpを参照してください。

于 2013-04-30T14:14:14.010 に答える