让php-ews工作

时间:2016-05-22 11:04:56

标签: php exchangewebservices

https://github.com/Garethp/php-ews下载了php-ews并执行了

            require_once ($server_path."/scripts/ews/API.php");

似乎有用(日志没有错误)。

但是这样做:

            $ews = ExchangeWebServices::fromUsernameAndPassword($exchange_host, $_SESSION["user_data"]["u_email"], $_SESSION["user_data"]["u_pwd"], $options = array());

给出

PHP Fatal error:  Class 'ExchangeWebServices' not found 

有人有想法吗?

2 个答案:

答案 0 :(得分:3)

好吧,我建议您尝试使用Composer安装我的库。你可以download it here。然后,安装后,您可以使用它安装我的库。只需使用以下

创建composer.json文件即可
{
    "require": {
        "garethp/php-ews": "0.8.*"
    }
}

然后在目录中运行composer install。这应该创建一个vendor/文件夹,其中包含vendor/autoload.php文件。包含此文件,其余类应自动加载

答案 1 :(得分:1)

如果交换选项有效,请删除我的支票。

删除

if ($core_row["exchange_active"] == 1) {

围绕着api电话。

require 'scripts/ews/vendor/autoload.php';

$exchange_host = $core_row["exchange_host"].":".$core_row["exchange_port"];
$version = "Exchange2013"; // to be optional in core_data
//Create and build the client
use garethp\ews\API;
$ews = API::withUsernameAndPassword($exchange_host, $_SESSION["user_data"]["u_email"], $_SESSION["user_data"]["u_pwd"], $version);

让我的日子变得更加明亮......

的结果
echo "<pre>"; print_r(get_declared_classes()); echo "</pre>";
......

[358] => ComposerAutoloaderInitbc25b4c7c627f48ed3a0f739e38bad53
[359] => Composer\Autoload\ClassLoader
[360] => Composer\Autoload\ComposerStaticInitbc25b4c7c627f48ed3a0f739e38bad53
[361] => garethp\ews\API
[362] => garethp\ews\API\ExchangeWebServices
[363] => garethp\ews\API\ExchangeWebServicesAuth
[364] => garethp\ews\API\ClassMap
[365] => garethp\ews\API\NTLMSoapClient
[366] => garethp\ews\HttpPlayback\HttpPlayback