PHP-EWS使用curl 7.21.6

PHP-EWS使用curl 7.21.6,curl,windows-server-2008-r2,exchangewebservices,ubuntu-11.10,php-ews,Curl,Windows Server 2008 R2,Exchangewebservices,Ubuntu 11.10,Php Ews,我开始对PHPEWS的一个问题感到困惑 现在,我有一个客户的服务器,它是Ubuntu 11.10和CURL 7.21.6(我对此无能为力),我的开发服务器是Windows server 2008 R2和CURL 7.30.0 在这两台服务器中,我使用PHP-EWS库配置了两个Exchange帐户 一个是Exchange2010服务器 另一个是在线交换 Exchange Online帐户在两台服务器上都能正常工作 Exchange 2010帐户在我的Windows服务器上工作,但在远程Ubuntu

我开始对PHPEWS的一个问题感到困惑

现在,我有一个客户的服务器,它是Ubuntu 11.10和CURL 7.21.6(我对此无能为力),我的开发服务器是Windows server 2008 R2和CURL 7.30.0

在这两台服务器中,我使用PHP-EWS库配置了两个Exchange帐户

一个是Exchange2010服务器

另一个是在线交换

Exchange Online帐户在两台服务器上都能正常工作

Exchange 2010帐户在我的Windows服务器上工作,但在远程Ubuntu服务器上不工作

因为我没有调试的权限(我只有一个用于测试的网页),所以我只能选择假设

旧服务器上的旧CURL版本会有问题吗?还是操作系统本身

提前谢谢大家,


Riccardo

我之前就已经解决过这个认证问题,结果证明它确实是我Ubuntu服务器上过时的cURL库。它可以在运行XAMPP的Windows box上正常工作,但一旦放到生产服务器上,简单身份验证就会失败

您至少需要将cURL更新到v7.23,这实际上是PHPEWS自述文件中列出的一项要求。此版本似乎添加或修复了NTLM身份验证协议。恐怕没有办法,除非你没有认证

更新cURL非常简单,不需要重新启动服务器。您应该能够使用以下命令对其进行更新

sudo apt-get update
sudo apt-get install php5-curl
sudo /etc/init.d/apache2 restart

需要重新启动Web服务器(上面假定为Apache2),但只需一秒钟。在我自己运行这些命令之后,我的脚本立即开始在我的生产服务器上工作。

您好。是的,我就是这样解决的。。。我发现,如果与MS Exchange 2010或Exchange Online通话,计算机至少需要cURL 7.21,如果与MS Exchange 2013通话,则至少需要cURL 7.30。Exchange2007似乎从7.15版开始运行。@user3536411很高兴听到您让它运行起来了。听到其他版本很有趣。我自己也在使用Exchange 2013,但当我进行更新时,它一直升级到7.36.0,所以我不知道它需要的最低版本。你介意记下我的答案,还是自己回答来解决这个问题?