1

作品:

php -q /home/site/public_html/cron/file.php

動作しません:

php -q /home/site/public_html/cron/file.php?variable=1

助言がありますか?変数を $_GET として送信する必要があります (または送信しない)

4

4 に答える 4

1

このようなことをします

curl http://hostname/cron/file.php?variable=1

file.php では、$_GET[変数] を取得するコードを管理します。

これは単純なブラウザ呼び出しとして動作しますが、シェル/ターミナルでのみ動作します

お役に立てれば

于 2012-06-11T17:54:49.623 に答える
1

コマンド ライン引数は$argv、通常の$_GET/ $_POST-Arraysの代わりに渡されます。

もちろん、これは URI スタイルのパラメーター (その?variable=1部分) では機能しません。したがって、次のように呼び出す必要がありますphp -q /path/to/script.php 1

別の方法として、次を使用できますgetopt

<?php
$shortopts  = implode("", array(
    "v:"
));

$longopts  = array(
    "variable:",     // Required value
);


$options = getopt($shortopts, $longopts);
var_dump($options);

のように呼び出しますphp -q /path/to/script.php --variable=1

于 2012-06-11T17:38:32.910 に答える
0

これを回避する最も簡単な方法は (public_html が公共の WWW であると仮定すると)、cron で wget または curl を呼び出して PHP ファイルにアクセスし、URL 変数が通常どおりに処理されるようにすることです。

于 2012-06-11T17:52:47.370 に答える
-1

-qは頭がないことを意味するので、私が想定するget-fieldsのためのスペースはありません、少なくとも私はそう願っています:D

グリーツ

于 2012-06-11T17:50:47.510 に答える