2

これを理解しようとしています。次のようにshell_exec()を使用して、php内でperlスクリプトを実行しようとしています。

<?php
$output=shell_exec("./tst.pl > test.txt");
//$output=shell_exec("./tst.pl");
echo $output;
?>

">"filename.txtを使用してファイルに出力を書き込むことはありません。エコーで確認できるので、ファイル名を指定せずに実行すると動作します。

これは">"の使用と関係がありますか?コマンドラインで同じperlスクリプトを実行してファイルに直接移動できるので、アクセス許可は問題ないはずです。これを実行するための提案はありますか?

「test.txt」の出力は入力として使用されます。

<?php 
$data = array(); 
$InputFile = file("test.txt");
...
?>
4

1 に答える 1

0

それは間違いなく許可の問題でした。ファイルを/tmpに書き出すと、正常に機能しました。

<?php
$output=shell_exec("./tst.pl > /tmp/test.txt");
echo $output;
?>
于 2010-08-17T01:10:37.027 に答える