Ошибка загрузки фреймворка Zend Gdata в Wordpress

Я пытаюсь использовать среду Zend Gdata с WordPress, но у меня есть некоторые проблемы. Теперь все работает отлично, когда я тестирую на localhost с XAMPP. Однако на моем веб-сервере мой код не работает.

Вот мой код для включения фреймворка.

`set_include_path(TEMPLATEPATH . '/includes/');
require_once ('Zend/Loader.php'); 
Zend_Loader::loadClass('Zend_Gdata_Youtube');`

Этот код вызывает следующую ошибку.

Предупреждение: Zend_Loader::include_once(Zend/Gdata/Youtube.php) [zend-loader.include-Once]: не удалось открыть поток: нет такого файла или каталога в /home/damain/public_html/mysite.com/wp-content/themes/mysite/includes/Zend/Loader.php в строке 146

Предупреждение: Zend_Loader::include_once() [function.include]: не удалось открыть Zend / Gdata / Youtube.php для включения (include_path='/home/damain/public_html/mysite.com/wp-content/themes/mysite/includes/') в /home/damain/public_html/mysite.com/wp-content/themes/mysite/includes/Zend/Loader.php в строке 146

Неустранимая ошибка: необнаруженное исключение "Zend_Exception" с сообщением "Файл" Zend / Gdata / Youtube.php "не существует или класс" Zend_Gdata_Youtube "не найден в файле" в /home/damain/public_html/mysite.com/wp-content/themes/mysite/includes/Zend/Loader.php:99 Трассировка стека: #0 /home/damain/public_html/mysite.com/wp-content/themes/mysite/includes/modules/yt_link_checker.php(19): Zend_Loader::loadClass('Zend_Gdata_Yout...') #1 /home/damain/public_html/mysite.com/wp-includes/plugin.php(405): load_zend_gdata('') #2 /home/damain/public_html/mysite.com/wp-admin/admin.php(111): do_action('load_zend_gdata', Array) #3 /home/damain/public_html/mysite.com/wp-admin/index.php(10): require_once('/home/damain/...') #4 {main} добавлено в /home/damain/public_html/mysite.com/wp-content/themes/mysite/includes/Zend/Loader.php в строке 99

Я не могу понять эту проблему. Кто-нибудь может помочь?

3 ответа

Лучшее решение в этом случае - запустить скрипт, требующий Zend Loader, и использовать var_dump(get_include_path()) чтобы увидеть, что сервер говорит путь. Затем продолжайте изменять php.ini include_path, пока скрипт не найдет его.

В вашем случае, я не уверен, если "домен" должен быть "домен". Мой включаемый путь, который в итоге сработал, был:

/ Home2 / thelove6 / public_html / ZF / ZendGdata / библиотека" thelove6 будучи именем пользователя.

Вы смотрели, чтобы увидеть, существуют ли эти файлы в этих каталогах? (/mysite/includes/Zend/Loader.php) и они имеют правильные разрешения? Похоже, что это может быть проблемой. Другое дело проверить с помощью простого phpinfo() Было бы, что у вас есть все библиотеки, установленные на живом сервере.

Хорошо, возможная причина: вы не используете правильный регистр для имени класса. Для версии 1.11.11 это будет Zend_Gdata_YouTube а не Zend_Gdata_Youtube.

ОС Windows игнорирует этот случай, а сервер Linux - нет. Надеюсь, что это решит вашу проблему, просто посмотрите на соответствующий регистр класса или имена файлов.

Другие вопросы по тегам