如何从php运行bash脚本?

时间:2013-08-24 17:34:21

标签: php bash zend-framework exec sh

当我更新某些内容时,我正试图通过一个bash脚本:

public function reloadServer()
{
    exec ('/var/www/html/script', $y);
    Zend_Debug::dump($y);
}

这是script文件

#!/bin/bash
# test
ssh root@192.168.526.33 "server -rx reload"
echo "success"

发生的是获取success消息,但该命令无法运行。 如果我手动运行命令它可以正常工作

注意:由于我的服务器存在一些问题,我无法使用ssh2_exec

有关正在发生的事情的任何想法或如何调试该bash脚本?

1 个答案:

答案 0 :(得分:1)

将命令放在子shell中并输出其输出:

#!/bin/bash
# test
( ssh root@192.168.526.33 "server -rx reload" ) 2>&1 | tee -a /some/where.log
echo "success"

通过它,您将看到所有消息,包括来自bash的可能消息。