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

#php #api #zend-framework #gdata #zend-gdata

#php #API #zend-framework #gdata #zend-gdata

Вопрос:

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

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

Запускал средство проверки установки PHP 2011-04-28 T02: 25: 20 00:00 Протестированы ошибки расширения PHP, ошибок не найдено, ошибки установки Zend Framework не протестированы, ошибок не найдено, ошибки возможностей SSL не протестированы, ошибок не найдено, ошибки подключения YouTube API не протестированы, ошибок не найдено

Но когда я пытаюсь запустить любой из демонстрационных файлов, я получаю ошибку 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/
  

Любые предложения были бы с благодарностью приняты.

Комментарии:

1. Откуда вы получаете этот путь включения? Где вы это устанавливаете?

2. Я получаю путь включения в зависимости от того, куда я поместил файлы. Вот путь из информационной панели папки «библиотека»… /usr/lib /php/ZendGdata Я установил это (через командную строку) в / private / etc/

Ответ №1:

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

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

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

Комментарии:

1. Ввод строки кода в Blogger.php получилось. Простите мое невежество, но что вы подразумеваете под «Убедитесь, что вы редактируете правильный файл php.ini с помощью php —ini»?

2. Если вы запустите php в командной строке с --ini аргументом, это должно дать вам некоторое представление о том, какие файлы конфигурации влияют на двоичный файл CLI php.

3. Вот что пришло в ответ… Путь к файлу конфигурации (php.ini): /etc Загруженный файл конфигурации: (отсутствует) Сканируйте дополнительные файлы .ini в: (отсутствуют) Проанализированы дополнительные файлы .ini: (отсутствуют)

4. @Robert Это означает, что если вы хотите внести изменения в поведение php-cli, вам следует отредактировать /etc/php.ini, потому что именно там он ищет. Думаю, я могу сказать, что вы используете OS X (я получаю тот же вывод :]), поэтому там должен быть файл php.ini.default, который вы можете скопировать в php.ini и отредактировать.

5. Вы правы — OS X 10.6.7. Дело в том, что я почти уверен, что это файл php.ini, который я редактирую. Когда я смотрю на файловую структуру на уровне операционной системы, я вижу, что на самом деле ссылка /etc / прямо под папкой MacHD является псевдонимом. Сама папка /etc /, похоже, находится в каталоге / private /

Ответ №2:

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

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

вышеуказанные две строки должны быть написаны поверх любого файла {страница 1, страница 2, страница 3}, имеющего структуру папок, как показано ниже

  • Веб-сайт
    • Page1.php
    • Page2.php
    • Page3.php
    • ZendGdata

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