は、PHPファイルを呼び出していない場合は含まれていたとき、この関数は引数を失っている:(ブラウザでURLを開くと、CGIを通してそれをやったときにphp myScript.php
すべてが正常に動作しますが、php system(); CGIを介して実行が、CLIから
<?php system('/bin/sh /usr/local/bin/myScript.sh '.'myArg'); ?>
て背景のApache)文字列が失われます。 何が失敗する可能性があるのか誰も知っていますか?
PD:myScript.shはそうテール/tmp/foo.txtすべてがCLIからではなく、ApacheのCGIから正常に動作を示すだけで
echo "$# $*" >> /tmp/foo.txt
です。 php.iniに余分な設定が必要ですか?私は私のapacheエイリアスファイルに何か特別なものが必要ですか?それはブードーですか?
答えのためのThx、今、myArgは文字列なので、cliとcgiの両方で動作するはずですね。 – user846226
@ user846226:最新の回答をご覧ください。 –
Thx答えがたくさんありますが、メインの投稿に記載されているように、myScript.phpとmyScript.shの両方が問題なく実行されます。 myArgvはphp 'string'ですが、私はすでにcli/cgiから引数を取得する方法を知っています。それはコーディングの問題ではない、私は何かのPHPのCGIの設定やOSの内部に関連する何かに関連するかもしれないことです。マッチするだけでphp myScript.phpはうまくいきますが、uriを使って実行すると引数はまったく同じになります。 – user846226