我想同时使用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