PHP 通过 shell_exec 使用 SVN 命令连接失败

配置:

  • PHP版本:PHP 5.4.45
  • Linux版本:Debian 3.16.43-2+deb8u3 (2017-08-15) x86_64

问题描述:

  • 机器没有配置svn扩展,想使用shell_exec命令来执行svn指令
  • 执行svn list 报错无法连接,用户名和密码参数都有

部分代码如下

    $authCommand = ' --username ' . $USER . ' --password ' . $PASS . ' --no-auth-cache';
    $cmd = "svn list " . $SVN_URL . $authCommand . " 2>&1";
    $res = @shell_exec($cmd);

浏览器返回如下

svn: E170013: Unable to connect to a repository at URL 'https://{svn_address}'↵svn: E230001: Server SSL certificate verification failed: issuer is not trusted

如果使用上面的$cmd直接在Linux命令行执行可以得到预期结果。
使用了popen发现依然不行,请有思路者帮忙看看问题,THANKS。

讨论数量: 2
pardon110

报错信息都告诉你了,需要配置 SSL 证书认证,你需要使用shell实现https登录。

4年前 评论

@pardon110 麻烦详细讲一下,知道是认证失败了,但是为什么会失败?使用shell实现https登陆是什么意思,我在对应机器的控制台尝试登陆过了,是可以访问的。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!