2016-05-22 21 views
0

ダウンロードのphp-EWSを動作するように取得し、(ログがエラーを与えない)動作するようですは、PHP-EWSが<a href="https://github.com/Garethp/php-ews" rel="nofollow">https://github.com/Garethp/php-ews</a>から

  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

さて、私はあなたのライブラリをComposerでインストールすることをお勧めします。あなたはdownload it hereです。その後、一度インストールすると、それを使って私のライブラリをインストールすることができます。ちょうどそのディレクトリにcomposer installを実行し、次の

{ 
    "require": { 
     "garethp/php-ews": "0.8.*" 
    } 
} 

composer.jsonファイルを作成します。これにより、vendor/autoload.phpファイルのvendor/フォルダが作成されます。このファイルをインクルードして、残りのクラスをオートロードする必要があります。

+0

の私の一日少し明るく..

結果[OK]を、私は作曲を試してみました...そして、それは(まあ、それは;-)ない)働くようだ しかし、私 **(mod_fastcgi.c.2695)FastCGI-stderr:PHP致命的なエラー: 'ExchangeWebServices'クラスが** – osomanden

+0

に見つかりません。オートローダが動作しているようです。それとも、私はパスの一部を削除した場合、少なくともそれは大声で失敗したと明らかに;-) – osomanden

+1

'code'echo "

"; print_r(get_declared_classes()); echo "
は、";' が[372] => ComposerAutoloaderInitbc25b4c7c627f48ed3a0f739e38bad53 [373] =>作曲を与えるcode' \オートロード\クラスローダ [374] => Composer \ Autoload \ ComposerStaticInitbc25b4c7c627f48ed3a0f739e38bad53しかし、ewsクラス(APIまたはExchangeWebServices)はありません – osomanden

1

交換オプションが有効であれば、私のチェックを外して動作させました。

は、APIコールを囲むた

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

を削除しました。

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 
+1

ちょうどFYI:代わりに' require_once'を使用することをお勧めします。あなたの上には何も持っておらず、その下にあなたの 'use'ステートメントをすべて置いてください。 'use'ステートメントは、すべてのロジックの前に来なければなりません –

関連する問題

 関連する問題