我使用Apache Chemistry PHP客户端与本地Alfresco存储库http协议超过8080,我可以连接到repo。
然而,当我尝试在其他Alfresco存储库上使用相同的库通过https协议(端口8443)时,我得到这个异常:
[26-jun_2016 01:51:10 Europe/Madrid] PHP致命错误:Uncaught exception 'CmisRuntimeException' in/Example/cmis/cmis_repository_wrapper.php:176堆栈跟踪:
#0 /Example/cmis/cmis_repository_wrapper.php(210): CMISRepositoryWrapper->convertStatusCode(0, false)
#1 /Example/cmis/cmis_repository_wrapper.php(191): CMISRepositoryWrapper->doGet('http://192.168....')
#2 /Example/cmis/cmis_repository_wrapper.php(128): CMISRepositoryWrapper->connect('http://192.168....', 'angel', '123456', NULL)
#3 /Example/cmis/cmis_service.php(143): CMISRepositoryWrapper->__construct('http://192.168....', 'angel', '123456', NULL, Array)
我可以看到doGet函数使用"http"URL,但我的字符串连接是https。
有什么问题吗?与Alfresco存储库在http协议上相同的代码是正确的
我使用docker Alfresco图像
我找到了一个解决办法。
如果我修改文件cmis_repository_wrapper.php,方法doRequest并添加这个:
curl_setopt($session, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($session, CURLOPT_SSL_VERIFYPEER, true);
都正确。所以,我认为问题是我的alfresco测试网站https://..…证书没有被验证,所以它不能正常工作。