Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php ews到Exchange 2010的连接_Php_Browser_Exchangewebservices_Exchange Server 2010_Php Ews - Fatal编程技术网

php ews到Exchange 2010的连接

php ews到Exchange 2010的连接,php,browser,exchangewebservices,exchange-server-2010,php-ews,Php,Browser,Exchangewebservices,Exchange Server 2010,Php Ews,我从下载了PHPEWS数据库 自动加载器: 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")) inc

我从下载了PHPEWS数据库

自动加载器:

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);

?>

起初,浏览器上的站点只是加载了很长的一段时间,然后告诉我这样的事情:
类异常未定义
。我无法说出正确的消息,因为现在如果我加载脚本,该消息甚至不会显示

浏览器只是无限加载。在此之后,我甚至不能用我的PHP文件连接到我的服务器。我必须打开其他浏览器才能再次连接

如果我在另一个浏览器中打开脚本,那么我可以再次运行脚本,但它再次加载infinity。(我使用autoloader包含了我需要的所有文件,所以这不是问题所在)


有人遇到过这样的问题并找到了解决方案吗?

您的自动加载器有问题。该库的默认文件的加载方式如下:

$pfad=SCRIPT_DIR."include/php-ews";
$include_file = $pfad . '/' . str_replace('_', '/', $className) . '.php';
如果您的自动加载器是第一个尝试加载该异常的,它将替换“\u1”。如果在自动加载功能中输入错误日志,您可能会看到
$inlcude\u file
的结果类似

include/php-ews/EWS/Exception
而且那个文件不存在

所以你应该修复你的自动加载器,这样它才能真正找到文件

非常清楚:

  • 您(代码)正在查找类
    EWS\u异常
  • 这在文件EWS_Exception.php中(在项目的根目录中)
  • 自动加载程序无法找到该文件,因为您替换了所有
    \uuuu

所以解决方案是要么修复自动加载器,要么只是在某处包含
EWS\u Exception.php
文件。

类似的东西?还是像那样?我假设是其他原因,例如,该库中的一个异常,由于您没有加载该类而无法找到:我没有看到该链接中提到的自动加载程序AnyAre。尝试添加那个?我应该在哪里添加什么?你是什么意思?如果你查看github页面,你会看到一个howto,其中有一个“自动加载”的片段。你已经创建了一个自动加载器,但我没看到你调用它。我怀疑这就是问题所在,但由于您没有显示实际的错误消息,我无法确定。我怀疑它说了一些关于异常子类的事情,然后我的自动加载器理论将是可行的。因此,您可能希望将自动加载程序代码添加到您的ews代码中,并且您肯定希望将逐字记录错误添加到您的问题中。我在开始时包括一个每次加载自动加载程序的文件。如果我不这样做,脚本甚至不会运行“$ews=newExchangeWebServices($host、$username、$password、$version);”。我想写错误消息,但我无法再在浏览器中加载脚本。如果我再收到一次信息,我会尽快发布possible@Nanne在我让站点加载超过5小时后,现在再次收到错误消息。这里是“类EWS_异常未定义”。但每个文件都在我的工作区中,并且都包含在内。还有ews_expression.php。我不知道该怎么办。我没有.././EWS/例外。我拥有的唯一一个同名文件是EWS_Exception。但此文件仅从文件异常加载类。但是我没有这个文件。即使我从网站下载zip,也没有名为exception的文件。我知道你没有这个文件。这就是问题所在。文件的位置与所有其他文件的位置不同。要么修复它,要么修复你的自动加载器。默认的
异常
是在PHP中扩展的,你会得到它。啊,好的,现在它可以工作了,谢谢你的帮助。但现在每次启动脚本时,我都会在屏幕上看到错误消息“未收集异常:错误版本”。我将版本设置为Exchange 2010。怎么了?你知道吗?