браузер — php ews подключение к Exchange 2010

Я скачал базу данных PHP ews из https://github.com/jamesiarmes/php-ews.

Автопогрузчик:

function __autoload ($className){
preg_match ("/^(([a-zA-Z]{5})_)?(.+)$/",$className,&$treffer); # die ersten 5 Stellen=Verzeichnisname, Weitere Zeichen=Dateiname
if(file_exists(PROJEKT_DIR.$className.".class.php"))  include_once(PROJEKT_DIR.$className.".class.php");
else{
$pfad=SCRIPT_DIR."include/";
if($treffer[2]) $pfad.="classes/".$treffer[2]."/";
if(file_exists($pfad.$treffer[3].".class.php"))
include_once($pfad.$treffer[3].".class.php");
elseif(substr($treffer[3],-7)!="_bvstnd" and class_exists($className."_bvstnd")){
eval("class  $className extends ".$className."_bvstnd {} ");
}
else{
// Start from the base path and determine the location from the class name,
$pfad=SCRIPT_DIR."include/php-ews";
$include_file = $pfad . '/' . str_replace('_', '/', $className) . '.php';

return (file_exists($include_file) ? require_once $include_file : false);

}
}

#if(file_exists(SCRIPT_DIR."include/".$className.".class.php"))
#  include_once(SCRIPT_DIR."include/".$className.".class.php");
}

он также загружает некоторые другие файлы.

Затем я начал делать руководство с его сайта, я начал делать это:

<?php

$host = "*********";
$username="**********";
$password="***********";
$version= "***********";

$ews = new ExchangeWebServices($host, $username, $password, $version);$request = new EWSType_FindFolderType();
$request->Traversal = EWSType_FolderQueryTraversalType::SHALLOW;

$request->FolderShape = new EWSType_FolderResponseShapeType();

$request->FolderShape->BaseShape = EWSType_DefaultShapeNamesType::ALL_PROPERTIES;

// configure the view
$request->IndexedPageFolderView = new EWSType_IndexedPageViewType();

$request->IndexedPageFolderView->BasePoint = 'Beginning';
$request->IndexedPageFolderView->Offset = 0;

// set the starting folder as the inbox
$request->ParentFolderIds = new EWSType_NonEmptyArrayOfBaseFolderIdsType();

$request->ParentFolderIds->DistinguishedFolderId = new EWSType_DistinguishedFolderIdType();

$request->ParentFolderIds->DistinguishedFolderId->Id = EWSType_DistinguishedFolderIdNameType::INBOX;

// make the actual call
$response = $ews->FindFolder($request);

?>

Сначала сайт в браузере просто загружается очень долго, но потом скажите мне что-то вроде этого: class Exception is undefined, Я не могу сказать правильное сообщение, потому что теперь это сообщение даже не отображается, если я загружаю скрипт.

Браузер просто загружается бесконечно. После этого я даже не могу подключиться к своему серверу с моими PHP-файлами. Я должен открыть другой браузер, чтобы подключиться снова.

Если я открою скрипт в другом браузере, я смогу снова запустить скрипт, но он снова загружает бесконечность. (Я включаю все нужные мне файлы с автозагрузчиком, так что это не проблема)

У кого-нибудь есть такая проблема и она нашла решение?

-1

Решение

У вас проблема с вашим автозагрузчиком. Файлы по умолчанию этой библиотеки загружаются так:

$pfad=SCRIPT_DIR."include/php-ews";
$include_file = $pfad . '/' . str_replace('_', '/', $className) . '.php';

Если ваш автозагрузчик первым попытается загрузить это исключение, он заменит ‘_’. Если вы поместите error_log в эту функцию автозагрузчика, вы, вероятно, увидите результат $inlcude_file быть чем-то вроде

include/php-ews/EWS/Exception

И этот файл не существует.

Поэтому вы должны исправить свой автозагрузчик, чтобы он действительно мог найти файл.

Чтобы быть абсолютно ясным:

  • Вы (код) ищете класс EWS_Exception
  • это в файле EWS_Exception.php (в корне проекта)
  • ваш автозагрузчик не может найти этот файл, так как вы заменяете все _

поэтому решение заключается в том, чтобы либо исправить ваш автозагрузчик, либо просто включить, что EWS_Exception.php подать куда-нибудь

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]