Не может заставить phing запускаться вообще

Max OS X 10.7.. когда я запустил phing -v, я получаю следующие ошибки:

Warning: require_once(phing/Project.php): failed to open stream: No such file or directory in /usr/lib/php/pear/phing/Phing.php on line 22

Fatal error: require_once(): Failed opening required 'phing/Project.php' (include_path='.:') in /usr/lib/php/pear/phing/Phing.php on line 22

Вот команды, которые я использовал:

pear config-set auto_discover 1
pear install phing/phing

Вот мой php.ini:

include_path = ".:/Applications/MAMP/bin/php/php5.3.6/lib/php"

работает whereis для php, груши и phing возвращает:

bash-3.2$ whereis php
/usr/bin/php

bash-3.2$ whereis pear
/usr/bin/pear

bash-3.2$ whereis phing
/usr/bin/phing

работает config-get для возвратов груши:

→ pear config-get php_dir
/usr/lib/php/pear

проверка этой папки, system.php и phing.php существуют в этом пути.

Ответ 1

Кажется, что include_path как-то сломан.

Проверить каталог PEAR:

pear config-get php_dir
/usr/lib/php

Какой бы каталог не возвращался, он должен содержать файлы PEAR (в частности, System.php и phing)

Убедитесь, что используется правильный php.ini:

Запустите php --ini и посмотрите, какой файл INI загружается. Затем убедитесь, что в этом файле INI содержится каталог PEAR в нем include_path

Проверьте include_path:

Запустите php -c /path/to/php.ini -r 'echo get_include_path() . "\n";'.


Обновление

Проблема действительно с include_path, так как сообщение об ошибке сообщает (include_path='.:'), что наглядно показывает, что PEAR НЕ входит в ваш путь включения. Это означает, что для CLI PHP загружается неправильный php.ini. Чтобы исправить это, найдите правильный файл php.ini (шаг 2) и добавьте

include_path = ".:/usr/lib/php/pear" 

.

Ответ 2

Я решаю это просто...

Я настраиваю свои /etc/paths, чтобы включить генератор движителя в свой окружение.

затем я добавляю /Application/XAMPP/bin и/Application/XAMPP/Propel/generator/bin

Я получал эту ошибку. Система Mac поставляется с предустановленной php... поэтому генератор propel получил неправильную установку php.

Я решаю это просто... я просто изменил порядок папок /etc/paths...

как вы видите мой файл /etc/paths:

/Applications/XAMPP/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/Applications/XAMPP/Propel/generator/bin

Ответ 3

Просто хотите добавить еще одно более легкое решение для пользователей Mac LION (тех, кто устанавливает материал через macport), может работать и для леопарда.

  • загрузите этот script в любом месте, неважно, где он находится

    curl http://pear.php.net/go-pear.phar > go-pear.phar
    
  • выполните эту команду

    sudo php -q go-pear.phar
    
  • он спросит вас о путях, вам не нужно менять его, но просто проверьте, что эти пути содержат файлы, связанные с грушей.

  • он спросит вас, хотите ли вы обновить php.ini для вас, включая путь [Y]

все готово! введите phing, и вы должны запросить свой файл build.xml

Ответ 4

Или, если у вас нет доступа к серверу, вы можете сделать это:

$root = $SERVER['DOCUMENT_ROOT'];

Он всегда ссылается на корень вашего проекта, и вы можете ссылаться на эту папку/файл.

Вам не нужно прикасаться к серверу, если это делается.