Zend Gdata включает проблему пути (Loader.php)

Пытался установить Zend Gdata. Я бегу из среды разработки, поэтому у меня есть доступ к php.ini.

Я установил путь включения, и когда я запускаю сценарий проверки, я получаю следующее:

Выполнена проверка установки PHP 2011-04-28T02: 25: 20 + 00: 00 Протестировано ошибок расширения PHP Ошибок не обнаружено. Ошибки установки Zend Framework не обнаружены. Ошибок не обнаружено. найдено

Но когда я пытаюсь запустить любой из демонстрационных файлов, я получаю ошибку floowing ...

Warning: require_once(Zend/Loader.php): failed to open stream: No such file or directory in /usr/lib/php/ZendGdata/demos/Zend/Gdata/blogger.php on line 37

Неустранимая ошибка: require_once (): Не удалось открыть 'Zend / Loader.php' (include_path = '.: / Usr / lib / php') в /usr/lib/php/ZendGdata/demos/Zend/Gdata/blogger.php в строке 37

Наиболее логичным выводом является то, что есть проблема с путем включения, но я проверил его, и он кажется правильным.

Вот что у меня есть для этого ...

.:/usr/lib/php/ZendGdata/library/Zend:/usr/lib/php/ZendGdata/library/

Любые предложения будут ценны.


person Robert    schedule 28.04.2011    source источник
comment
Откуда вы берете этот включаемый путь? Где вы это устанавливаете?   -  person JohnD    schedule 28.04.2011
comment
Я получаю путь включения в зависимости от того, куда я поместил файлы. Вот путь из информационной панели папки 'library' ... / usr / lib / php / ZendGdata Я установил это (через командную строку) в / private / etc /   -  person Robert    schedule 28.04.2011


Ответы (2)


Поместите это в начало Blogger.php

set_include_path('/usr/lib/php/ZendGdata/library' . PATH_SEPARATOR . get_include_path());

Вы говорите, что устанавливаете путь включения в файле конфигурации, но это, похоже, не влияет на интерфейс командной строки. Убедитесь, что вы редактируете правильный файл php.ini с помощью php --ini

person JohnD    schedule 28.04.2011
comment
Помещение строки кода в Blogger.php помогло. Простите мое невежество, но что вы имеете в виду под "Убедитесь, что вы редактируете правильный файл php.ini с помощью php --ini?" - person Robert; 28.04.2011
comment
Если вы запустите php в командной строке с аргументом --ini, это должно дать вам некоторое представление о том, какие файлы конфигурации влияют на двоичный файл CLI php. - person JohnD; 28.04.2011
comment
Это то, что вернулось ... Файл конфигурации (php.ini) Путь: / etc Загруженный файл конфигурации: (нет) Сканировать дополнительные файлы .ini в: (нет) Дополнительные файлы .ini проанализированы: (нет) - person Robert; 28.04.2011
comment
@Robert Это означает, что если вы хотите внести изменения в поведение php-cli, вы должны редактировать /etc/php.ini, потому что именно там он и ищет. Думаю, я могу сказать, что вы используете OS X (я получаю тот же результат:]), поэтому там должен быть файл php.ini.default, который вы можете скопировать в php.ini и отредактировать. - person JohnD; 28.04.2011
comment
Вы правы - OS X 10.6.7. Дело в том, что я почти уверен, что это файл php.ini, который я редактирую. Когда я смотрю на файловую структуру на уровне ОС, я вижу, что на самом деле ссылка / etc / прямо под папкой MacHD является псевдонимом. Сама папка / etc /, похоже, находится в каталоге / private / - person Robert; 28.04.2011
comment
вот снимок экрана с содержимым / etc / [IMG] i51.tinypic.com/ v5zrtf.png [/ IMG] (предыдущие версии php.ini вы можете увидеть ниже) - person Robert; 28.04.2011
comment
Крайне странно. php должен загружать этот файл, вы должны спросить об этом SU или SF, я не уверен, почему он не загружается. - person JohnD; 28.04.2011
comment
Я только что произвел поиск (в системных файлах) на HD. Единственные, что я могу найти, находятся в папке / etc /. Но странно то, что в сообщении об ошибке указан путь включения по умолчанию, а не новый. Однако, когда я извлекаю информацию о PHP, путь правильный ... [IMG] i52. tinypic.com/2i90476.png[/IMG] - person Robert; 28.04.2011
comment
Я также скопировал файл по умолчанию в текущий и сбросил путь с тем же результатом. - person Robert; 28.04.2011
comment
Опять же, извините за мое незнание, но я новичок в программировании (и на этом сайте), кто (или что) такие SU и SF? - person Robert; 28.04.2011
comment
SU и SF - это дочерние сайты Stack Overflow, Super User и Sever Fault для опытных пользователей и системных администраторов соответственно. Попробуйте SU решить эту проблему, superuser.com - person JohnD; 28.04.2011

$clientLibraryPath = 'ZendGdata/library';
$oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $clientLibraryPath);

если вы не знаете корневой путь сервера, используйте относительный путь для доступа к библиотеке. Его довольно удобно использовать.

две вышеупомянутые строки должны быть написаны поверх любого файла {page1, page2, page3}, имеющего структуру папок, как показано ниже

  • Website
    • Page1.php
    • Page2.php
    • Page3.php
    • ZendGdata

Вы можете использовать свой относительный путь в соответствии с вашими потребностями

person Yogesh Gupta    schedule 25.07.2013