2017-07-05 15 views
0

PHPはどのようにしてシェルスクリプトから変数を取得できますか? 私が持っている:shell_exec('php /var/www/html/test/kobi.php $param1'); と私は私がそれを実行しようとしました$parm1 in kobi.php 受け取ったい:$imsi=$argv[1]; が、それは動作しません。 誰かが間違っていることを説明できますか? どうすればいいですか?PHPはシェルスクリプトから変数を取得します

+0

'shell_exec'の中で実行されているスクリプトが別のスレッドで実行されているため、何も含まれていません。このスレッドのための' $ argv'があります。私は、スレッドという用語をゆるやかに使用します。 PHPのインスタンスは、おそらくもっと "適切な" – ArtisticPhoenix

答えて

0

あなたは間違った機能を使用することは

http://php.net/manual/en/function.exec.php

のexec(文字列$コマンド[、配列& $出力[、int型& $ return_var]])

$param1 = escapeshellarg($param1); 
    exec('php /var/www/html/test/kobi.php $param1', $output); 
代わり execを試してみてください

これも使用してください。

http://php.net/manual/en/function.escapeshellarg.php

あなたの入力は文字通り$param1、ないの値であるので、それ以外の場合は、誰かがあなたのサーバーメイビー引き継ぐ...

UPDATE

'php /var/www/html/test/kobi.php $param1' 

は、文字列リテラルですそれ。ところで。変数補間には二重引用符"を使用します。

+0

まだ動作しません。 echo $ output Im空の配列を取得しています –

+0

'echo'は文字どおりですか? print_r() '' var_export() '、' var_dump() 'は配列のため、配列をエコーすることはできません。 – ArtisticPhoenix

+0

私はprint_r()ofcoursを意味しています。 私は何をすべきですか? –

関連する問題