Скачанные php-ews из https://github.com/Garethp/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
У кого-нибудь есть идея?
Ну, я хотел бы предложить вам попробовать установить мою библиотеку с помощью Composer. Вы можете скачать здесь. Затем, после установки, вы можете установить мою библиотеку, используя ее. Просто создайте composer.json
файл со следующим
{
"require": {
"garethp/php-ews": "0.8.*"}
}
Затем запустите composer install
в каталоге. Это должно создать vendor/
папка с vendor/autoload.php
файл. Включите этот файл, и остальные классы должны быть автоматически загружены
Сделал это, убрав мой чек, если опция обмена действительна.
Удалены
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