我试图让以下linux命令使用PHP工作。我读到了PHP中的shell_exec
命令,它可以用来执行shell命令。
我正在尝试将一些简单的文本输出到文本文件中。我尝试了以下方法:
<?php
$cmd = 'echo "hi" > Desktop/test/output.txt';
shell_exec($cmd);
?>
请注意,我在Ubuntu 16.04上运行它。我还使www-data成为Desktop / test文件夹的所有者,以便它可以写入它。以下是我用于此的命令:
sudo chown -R www-data:www-data Desktop/test
当我执行上面的命令时,直接在shell中我可以看到用字符串输出创建的output.txt文件。
但是,当我通过apache web服务器执行php脚本时,我看不到正在创建的output.txt文件。
如果你能指出我正确的方向,我很高兴。
由于
答案 0 :(得分:0)
正如我在评论中所说:你应该使用绝对路径。
<?php
$cmd = 'echo "hi" > /home/username/Desktop/test/output.txt';
shell_exec($cmd);
?>