7

それは非常に単純で、私にはアイデアがありません。迅速な回避策があると確信しています。

exec('echo 123 &> /var/log/123.log');

ファイル123.logが作成されているため、アクセス許可に関するものではないと確信していますが、空です。shell_exec も試しましたが、ファイルがまったく作成されません。また、リダイレクトのすべてのバリアントを試し1> 2> >ました。

PHP を使用して出力をキャプチャすることはオプションではありません。本番環境での出力は膨大であり、メモリの問題に遭遇したくないからです。

どんなアイデアでも大歓迎です。

ところで、Ubuntu 12.04 LAMP を使用しています。

4

3 に答える 3

0

唯一役に立ったのは、test.sh などの exec 権限を持つシェル スクリプトを作成することでした。

#!/bin/bash
echo 123 &>> /var/log/123.log

次のように実行します。

shell_exec('[full path to]/test.sh');

したがって、リダイレクト演算子は重要ではありませんが、それ以外はすべて (#! ディレクティブ、shell_exec) です。

于 2013-04-18T09:53:11.240 に答える