如果您遇到证书验证问题,例如:
PHP Warning: svn_log(): svn error(s) occured 175002 (RA layer request failed) OPTIONS of 'https://example.com/your/repos/path': Server certificate verification failed: issuer is not trusted
尝试以下两个步骤:
1. 运行
"svn log https://example.com/your/repos/path"
在命令行中,当被问到时输入“p”永久接受证书。
2. 在调用其他 svn 函数之前,使用以下设置进行 svn_auth_set_parameter()
<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'your svn user');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'your svn users password');
svn_auth_set_parameter(PHP_SVN_AUTH_PARAM_IGNORE_SSL_VERIFY_ERRORS, true); // <--- 针对证书问题的重点!
svn_auth_set_parameter(SVN_AUTH_PARAM_NON_INTERACTIVE, true);
svn_auth_set_parameter(SVN_AUTH_PARAM_NO_AUTH_CACHE, true);
var_dump(svn_log('https://example.com/your/repos/path'));
?>
这将适用于 1.6 以下版本的 SVN 客户端库!