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