[PHP-users 19616]Re: systemについて

ISIGE, Akira xia @ silvia.com
2003年 12月 28日 (日) 22:16:02 JST


いしげ です.

On 2003/12/28 13:23:55 JST,
GT <perl @ getpresent.com> wrote:

> いま気付いたのですがtelnetで「php test1.php」とすると
> 下記のメッセージが出ますがこれはどういう意味でしょうか?
> 「cannot create  /dev/null : directory nonexistent」

まずは逐語翻訳くらいしてみましょうよ...
「/dev/null を作成できません: ディレクトリが存在していません」
という意味です.
つまり /dev に null というファイルを作ろうとして失敗しています.

OS は何ですか?
UNIX 系の OS なら通常は /dev/null が存在しているので
上記のエラーにはならないかと思いますが……


それと,test2.php が [PHP-users 19610] にあるとおりならば,
system 関数では実行できません.
> system( "/usr/local/bin/php -q xxxxx/test2.php" );
といった風に php のインタプリタで明示的に起動しましょう.
apache の実行ユーザがどのような path を持っているかわからないので,
php も /usr/local/bin/php という風にフルパスにすべきです.


上記の /dev/null の問題等もありますから,
まずは混乱する要素である「> /dev/null」と「&」を取り除いて,
とにかく単なるファイルの実行が可能かどうかを確認し,
その上で各要素を順に追加して問題の切り分けをしてみてください.

こちらの環境で,上記の /usr/local/bin/php の修正を施した
test[12].php を実行してみましたが(暇だな自分も),期待通りに動作します.
プログラムより環境に問題がありそうです.


--
ISIGE, Akira



PHP-users メーリングリストの案内