1

私はこれを自分でトラブルシューティングするのに多くの時間を費やしましたが、私が読んだことのどれも私の問題を解決しないので、ここで助けを得ることを願っています.

とにかく、Google カレンダーに接続するためのさまざまな機能を提供する PHP スクリプトを作成しました。インライン テスト コードを使用してこのスクリプトを直接実行し、関数を呼び出すと、すべて正常に実行されます。ただし、「require_once」を使用して他のスクリプトから関数を呼び出して含めると、次のエラーが発生します。

Warning: include_once(Zend\Gdata\Calendar\Extension\EventQuery.php) [function.include-once]: failed to open stream: No such file or directory in C:\Users\Luke Franklin\Clients\Tiers For Tea\Development\TiersForTea.com v1.1\lib\Zend\Loader.php on line 134
Warning: include_once() [function.include]: Failed opening 'Zend\Gdata\Calendar\Extension\EventQuery.php' for inclusion (include_path='.;C:\xampp\php\PEAR;C:\Users\Luke Franklin\Clients\Tiers For Tea\Development\TiersForTea.com v1.1\lib;C:\xampp\htdocs\TiersForTea.com\lib') in C:\Users\Luke Franklin\Clients\Tiers For Tea\Development\TiersForTea.com v1.1\lib\Zend\Loader.php on line 134

あなたの最初の考えは、正しいインクルード パスを使用していないということかもしれませんが、これを何度も確認して再確認しました。パスをハードコーディングしてみました。私は正しいパスを使用していると確信しています。

今、奇妙なビットのために。エラーを見ると、Zend がインクルードしようとしているファイルに気付くでしょう: Zend\Gdata\Calendar\Extension\EventQuery.php. このファイルは、実際には「Extension」フォルダーには存在しません。ただし、親フォルダーには存在します。「EventQuery.php」を「Extension」フォルダーにコピーするだけで、スクリプトは期待どおりに実行されます。変ですよね?

これで問題は解決しますが、さらに問題が発生する場合に備えて、ここで何が起こっているのかを知りたいです。また、このスクリプトを OpenCart モジュールに呼び出していることにも注意してください。

私のコードの一部を見たいと思うかもしれませんので、ここに重要なビットのスニペットがあります。詳細が必要な場合は、私に知らせてください:

<?php
set_include_path(get_include_path() . PATH_SEPARATOR . realpath('\\lib') . PATH_SEPARATOR . "C:\\xampp\\htdocs\\TiersForTea.com\\lib");
require_once('Zend/Loader.php');

function connect() {
    Zend_Loader::loadClass('Zend_Gdata');
    Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
    Zend_Loader::loadClass('Zend_Gdata_Calendar');
4

1 に答える 1

0

分離テストで正しく動作することを示しているため、Zend ファイルのいずれかにエラーが存在するとは思えません。

からエラーがスローされます。Zend_Loaderこれは、コード内の何かが を参照していることを意味しますZend_Gdata_Calendar_Extension_EventQuery

場所を特定できる場合は、エラーのスタック トレースを確認します。それが利用できない場合は、その文字列のグローバル検索を実行します。一致するものが見つかった場合は、それらを に変更する必要がありますZend_Gdata_Calendar_EventQuery

アップデート

これは既知のバグのようです

これは、コードが を使用してエラー ハンドラを登録する場合の問題ErrorExceptionです。どうやら 1.12 ブランチで修正されたようですが、まだリリースされていません。

11959 バグ レポートには、この問題を修正するパッチがあります。

于 2012-12-05T03:27:37.470 に答える