我想一起使用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访问权限。
答案 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