【发布时间】:2013-04-18 08:22:40
【问题描述】:
这很简单,我没有想法。我确信有一个快速的解决方法。
exec('echo 123 &> /var/log/123.log');
我确定这与权限无关,因为文件 123.log 已创建,但它只是空的。我也尝试过 shell_exec,但它根本不创建文件。
还尝试了所有重定向变体,即1> 2> >。
使用 PHP 捕获输出不是选项,因为生产中的输出很大,我不想遇到内存问题。
任何想法表示赞赏。
顺便说一句,我使用的是 Ubuntu 12.04 LAMP。
【问题讨论】:
-
您是否在终端中尝试过
echo 123 &> /var/log/123.log? -
您是否 100% 肯定它没有权限?尝试在终端中手动执行 echo 语句,看看它是否有效
-
已验证,这对我也不起作用。将 PHP 5.3.10-1ubuntu3.4 与 Suhosin-Patch 一起使用。
-
文件已创建。怎么可能是权限?一定是关于重定向是如何完成的。
-
我在
echo 123 2>&1 1>> /var/log/123.log上取得了一些进展,但现在只捕获了stdout。stderr不是。
标签: php shell io-redirection