ホームページ >バックエンド開発 >PHPチュートリアル >シェルスクリプトを実行するphpでの問題

シェルスクリプトを実行するphpでの問題

WBOY
WBOYオリジナル
2016-06-23 13:49:491128ブラウズ

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 ファイルが生成されないのはなぜですか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。