ホームページ >バックエンド開発 >PHPチュートリアル >シェルスクリプトを実行するphpでの問題
ubuntu 上に構築された xamp 環境プラットフォーム。 phpのshell_execを使ってシェルスクリプトを実行すると、一部のコマンドしか実行できなかったり、Catやmoreなどのechoコマンドしか実行できず、
echo "a" などの戻り情報がありません。
cat a.txt
more b.txt
echo "b"
結果は次のようになります: ab、真ん中の 2 つのコマンドは実行されず、フィードバック情報がありません。これはなぜでしょうか。
シェルスクリプトはローカルで正常に実行できますが、php を使用して実行することはできません
誰かがここにいません、誰かがここにいません、
誰かがここにいません、
許可の問題。
chmod 0777 a.txt 見てみましょう
$ ll a.txt
$ ll b.txt
試してみましょう
上記のエコーは Linux コマンドのエコーではなく、php のエコーである必要があります
$results = `cat a.txt `;または $results =shell_exec('cat a.txt');
echo $results を試してください
問題は解決されました
1. パスの問題、作業ディレクトリを決定します
2. 権限の問題、デーモンとユーザーの関係を調べます。
皆さんもそこから学んでいただければ幸いです
a.sh
#!/bin/sh
echo 'hello world'>1.txt
/usr/bin/unoconv -f pdf /mnt/www/test/ test.txt
Index.php
exec("/usr/bin/a.sh",$status);
PDF ファイルが生成されないのはなぜですか?