PHP exec svn和返回值始终为0

PHP exec svn和返回值始终为0,php,svn,Php,Svn,我正在尝试将svn集成到php脚本中,以自动化网站启动和版本控制 在创建过程中,我使用execphp命令以及svn和svnadmin命令进行了一些检查 因此,当我制作和热拷贝(一个不持久的存储库)时,它返回值1(及其正确值) 但是svnadmincreate(路径完全荒谬)总是返回0(就像内容是创建的,但这不是真的!) 此路由实际上可以工作,但returnvar始终为0(如果svnadmin命令不同于hotcopy) 函数的意思是,我只想在出现错误时显示完整的输出。不显示任何其他内容(或可能显示

我正在尝试将svn集成到php脚本中,以自动化网站启动和版本控制

在创建过程中,我使用execphp命令以及svn和svnadmin命令进行了一些检查

因此,当我制作和热拷贝(一个不持久的存储库)时,它返回值1(及其正确值) 但是svnadmincreate(路径完全荒谬)总是返回0(就像内容是创建的,但这不是真的!)

此路由实际上可以工作,但returnvar始终为0(如果svnadmin命令不同于hotcopy)

函数的意思是,我只想在出现错误时显示完整的输出。不显示任何其他内容(或可能显示确认消息)

希望有人能帮忙 ty提前找到了解决方案:

为我的目的对其进行了修改并添加到我的项目:) 现在我的例行程序如下所示:

public function routine($istr, $search="", $replace="") {
    $output = array();
    if($search != "" || $replace != "")
        $istr = str_replace($search,$replace,$istr);
    $output = $this->runExec($istr);
    $this->addMessage(preg_replace("/[\n\r]/","",$istr));
    if(strlen($output['stdout']) > 5)
        $this->addMessage($output['stdout']);

    if($output['return'] != "0") {
        $this->addMessage("<font color='red'>!!! GOT ERRORS !!!");
        $this->addMessage($output['stderr']);
        $this->addMessage("</font>");

        return false;
    } else
        $this->addMessage("<font color='orange'>!!! EXEC SUCCESS !!!</font>");

    return true;
}
公共功能例程($istr、$search=“”、$replace=“”){
$output=array();
如果($search!=“”| |$replace!=“”)
$istr=str_replace($search,$replace,$istr);
$output=$this->runExec($istr);
$this->addMessage(preg_replace(“/[\n\r]/”,“”,$istr));
如果(strlen($output['stdout'])>5)
$this->addMessage($output['stdout']);
如果($output['return']!=“0”){
$this->addMessage(!!!出现错误!!!);
$this->addMessage($output['stderr']);
$this->addMessage(“”);
返回false;
}否则
$this->addMessage(!!!EXEC SUCCESS!!!);
返回true;
}

工作起来很有魅力:)

不确定是不是你的输入错误,有一个遗漏的
是的,是另一个输入错误。你应该仔细看看,这太多了。我们所做的只是简单的svn命令。所以我认为我们不需要这样的项目来让它工作(我自己也找到了解决方案,并以评论的形式发布,这比在我的项目中添加一个完整的项目要容易得多!)“你可以在2天内接受你自己的答案”在我尝试时收到了这条消息>_
public function routine($istr, $search="", $replace="") {
    $output = array();
    if($search != "" || $replace != "")
        $istr = str_replace($search,$replace,$istr);
    $output = $this->runExec($istr);
    $this->addMessage(preg_replace("/[\n\r]/","",$istr));
    if(strlen($output['stdout']) > 5)
        $this->addMessage($output['stdout']);

    if($output['return'] != "0") {
        $this->addMessage("<font color='red'>!!! GOT ERRORS !!!");
        $this->addMessage($output['stderr']);
        $this->addMessage("</font>");

        return false;
    } else
        $this->addMessage("<font color='orange'>!!! EXEC SUCCESS !!!</font>");

    return true;
}