Я скачал базу данных 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-файлами. Я должен открыть другой браузер, чтобы подключиться снова.
Если я открою скрипт в другом браузере, я смогу снова запустить скрипт, но он снова загружает бесконечность. (Я включаю все нужные мне файлы с автозагрузчиком, так что это не проблема)
У кого-нибудь есть такая проблема и она нашла решение?
У вас проблема с вашим автозагрузчиком. Файлы по умолчанию этой библиотеки загружаются так:
$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
подать куда-нибудь
Других решений пока нет …