PHP shell_exec 命令无效
PHP shell_exec command doesn't work
我正在尝试学习从 PHP 代码中执行 shell 脚本。因此,我制作了一个测试程序来从 PHP 中执行 bash 脚本。但是,它没有效果。相关代码如下所示。
<?php
.......
shell_exec('/bin/bash /var/www/html/just_touch.sh');
?>
just_touch.sh
脚本只是创建一个新文件,如下所示。
touch /home/user/some.txt
我希望在执行后得到文件 /home/user/some.txt
,但是没有,它没有生成。我做错了什么?
P.S: 虽然下面的代码有效。
$output = shell_exec('ls /home/user');
echo $output;
这与权限有什么关系吗?
此外,我注意到虽然打印 "Can you see me?".
$output = shell_exec('echo Can you see me?');
echo $output;
这不是!
shell_exec('echo Can you see me?')
这是怎么回事?
Stderr 在使用 shell_exec
时丢失。您可能不想使用:
shell_exec('/bin/bash /var/www/html/just_touch.sh 2>&1');
我正在尝试学习从 PHP 代码中执行 shell 脚本。因此,我制作了一个测试程序来从 PHP 中执行 bash 脚本。但是,它没有效果。相关代码如下所示。
<?php
.......
shell_exec('/bin/bash /var/www/html/just_touch.sh');
?>
just_touch.sh
脚本只是创建一个新文件,如下所示。
touch /home/user/some.txt
我希望在执行后得到文件 /home/user/some.txt
,但是没有,它没有生成。我做错了什么?
P.S: 虽然下面的代码有效。
$output = shell_exec('ls /home/user');
echo $output;
这与权限有什么关系吗?
此外,我注意到虽然打印 "Can you see me?".
$output = shell_exec('echo Can you see me?');
echo $output;
这不是!
shell_exec('echo Can you see me?')
这是怎么回事?
Stderr 在使用 shell_exec
时丢失。您可能不想使用:
shell_exec('/bin/bash /var/www/html/just_touch.sh 2>&1');