将php输出作为shell脚本运行

时间:2015-11-18 16:32:04

标签: php bash shell

我想一起使用shell和php。 首先我试过: shell_exec vs functions已禁用,必须如此。 但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访问权限。

1 个答案:

答案 0 :(得分:4)

您可以将PHP的输出管道(|)发送到sh来执行:

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

输出:

  

的/ opt / local / bin中:/选择/ local / sbin中:/选择/ local / bin中:/选择/ local / sbin中:/应用/ MAMP /库/ bin中:在/ usr / local / bin中:在/ usr /仓:/ bin中:/ usr / sbin目录:/ sbin目录

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

$ php test.php | sh