【发布时间】:2013-08-14 07:15:37
【问题描述】:
我想创建一个 SVN 结帐 PHP 脚本。您只需调用一个函数并传递两个参数:SVN URL 和输出路径。
我的问题是,我们的 SVN 服务器只能通过 https 访问。但是通过https,该功能不起作用。通常该函数应该返回一个布尔值,但我什么也没得到。我的第一个想法是,我没有权限写入输出路径文件夹,但我将权限更改为 777(暂时)。还是不行。我还尝试从另一个 SVN 主干获取一些文件。看哪,这是有效的。我得到文件。知道如何让它工作吗?
啊,是的,我将 svn trunk 权限设置为每个人都可以读写。
这是我的代码:
<?php
$result = svn_checkout('https://{LINK_TO_SVN_TRUNK}', dirname(__FILE__) . '/tmp');
echo "Result: ".$result;
?>
【问题讨论】:
-
您是否启用了错误报告?尝试将
error_reporting(E_ALL);ini_set('display_errors', true);放在你的脚本之上 -
另外,你可能需要安装php的openssl扩展
-
@periklis 我收到此错误:
Server certificate verification failed: certificate has expired, certificate issued for a different hostname, issuer is not trusted- 如何处理。我可以传递用户名和密码吗,因为我有一个可以访问中继的用户。 -
这表示svn服务器的SSL证书不受自己服务器的信任。您需要在 Web 服务器中安装 SSL 证书。如果您需要进一步的帮助,请在 Google 上快速搜索如何执行此操作并回复
-
还有其他可能吗,因为我改变了我的代码。我使用了函数
svn_auth_set_paramter并设置了一些参数,比如用户名和密码。现在我有另一个错误:Warning: svn_log(): svn error(s) occured 175002 (RA layer request failed) OPTIONS of 'https://{URL_TO_SVN_TRUNK}': 200 OK (https://MAIN_URL}) in /{LOCAL_PATH_TO_PHP_SCRIPT} on line 10 bool(false)