ホームページ  >  記事  >  バックエンド開発  >  php exec() の特定のシェル結果が間違っているのは、php の grep がバイナリ ストリームではなくテキスト ストリームのみを処理できるためです。_PHP チュートリアル

php exec() の特定のシェル結果が間違っているのは、php の grep がバイナリ ストリームではなくテキスト ストリームのみを処理できるためです。_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:09:27908ブラウズ

cat aa.txt grep 'スタートアップ' |wc-l

Linux コマンドラインでテストする場合は問題ありません。しかし、php の exec には非常に奇妙な問題があります。
結果エラー:
エラーメッセージは次のとおりです: cat: write error: Broken Pipe
多くの努力と多くの情報を確認した後、ついに解決しました。
grepオプションに-aオプションを追加すればOKです
grep -a オプションの意味: バイナリ ファイルをテキストであるかのように処理します。これは --binary-files=text オプションと同等です。
cat ファイルの内容にバイナリ ストリームが含まれているため、grep がそれを認識できないはずです

http://www.bkjia.com/PHPjc/477649.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/477649.html技術記事 Cat aa.txt | grep 起動 |wc-l Linux コマンド ラインでテストする場合は問題ありません。しかし、php の exec には非常に奇妙な問題があります。 結果はエラーです: エラー メッセージは次のとおりです: cat: write erro...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。