Не может заставить 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'];
Он всегда ссылается на корень вашего проекта, и вы можете ссылаться на эту папку/файл.
Вам не нужно прикасаться к серверу, если это делается.