Ошибка загрузки фреймворка Zend Gdata в Wordpress - PullRequest
0 голосов
/ 31 октября 2011

Я пытаюсь использовать среду 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 ]

1 голос
/ 22 июня 2012

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

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

/ home2 / thelove6 / public_html / zf / ZendGdata / library "thelove6 - это имя пользователя.

0 голосов
/ 02 июля 2012

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

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

0 голосов
/ 31 октября 2011

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

...