将php输出作为shell脚本运行


run php output as shell script

我想同时使用shell和php。首先我尝试了:shell_exec vs函数已禁用,必须禁用。但是php不允许我运行shell_exec()所以,我放弃了,尝试制作一个.sh,调用php,将php的输出存储为sh文件并运行sh文件。这是sh代码

#!/bin/bash/
php test.php -> running php file/ test.php saves commands in script.sh
sh script.sh -> running the commands
rm script.sh -> removing the commands

但是必须有一个更好的方法来处理这个文件。我可以直接在.sh文件中运行test.php的输出吗?我可以运行shell_exec吗?

注意:我拥有服务器的root访问权限。

您可以通过管道(|)将PHP的输出传输到要执行的sh

$ php -r 'echo "echo '$PATH";' | sh

输出:

/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/Applications/MAMP/Library/bin:/usr/local/bin:/usr/bin:/sbin:/sbin

为了简单起见,我已经阅读了一些使用-r的语句,但您可以通过将脚本传递给php:来读取文件

$ php test.php | sh