1

我正在使用 Apache Chemistry PHP 客户端和本地 Alfresco 存储库,http 协议超过 8080,我可以连接到存储库。

但是,当我尝试通过 https 协议(端口 8443)在其他 Alfresco 存储库上使用相同的库时,我得到了这个异常:

[26-Jun-2016 01:51:10 Europe/Madrid] PHP 致命错误:/Example/cmis/cmis_repository_wrapper.php:176 中未捕获的异常“CmisRuntimeException”堆栈跟踪:

#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。

问题是什么?通过 http 协议与 Alfresco 存储库相同的代码是正确的。

4

1 回答 1

0

我使用 docker Alfresco 图像。

我找到了一种解决方案。

如果我修改文件 cmis_repository_wrapper.php,方法 doRequest 并添加:

 curl_setopt($session, CURLOPT_SSL_VERIFYHOST, false);
 curl_setopt($session, CURLOPT_SSL_VERIFYPEER, true);

一切顺利。所以,我认为问题在于我的 alfresco https://..... 测试站点没有验证证书,所以它不能正常工作。

于 2016-06-26T15:49:30.283 回答