Как настроить PEAR на Mac OS X 10.5 Leopard

В конечном итоге я пытаюсь установить PEAR, чтобы я мог легко установить PHPUnit. Я хочу настроить среду разработки Mac, Apache, MySQL, PHP, PHPUnit, чтобы я мог тестировать локально. У меня уже есть Apach, MySQL и PHP. Теперь все, что мне нужно, это PHPUnit, что означает, что мне нужно PEAR для его установки.

Я искал все, и есть несколько вариантов «учебника» о том, как установить PEAR в Mac OS X 10.5. Однако я не могу заставить их работать! Кто-нибудь имел успех в этом? Я не совсем уверен, что у меня все настроено так, как должно быть, поэтому, если бы вы включили «стандартные» Mac OS X 10.5, включили пути или просто объяснили, куда все должно идти, я был бы признателен.

Следуя этому руководству, я делаю следующее:

curl http://pear.php.net/go-pear > go-pear.php sudo php -q go-pear.php 

Я нажимаю enter, пока не дойду до списка с 7 путями:

 1. Installation prefix ($prefix) : /Users/andrew 2. Temporary files directory : $prefix/temp 3. Binaries directory : $prefix/bin 4. PHP code directory ($php_dir) : $prefix/PEAR 5. Documentation base directory : $php_dir/docs 6. Data base directory : $php_dir/data 7. Tests base directory : $php_dir/tests 

Я изменяю Installation prefix как /usr/local , нажмите enter для продолжения, введите Y чтобы установить PEAR_Frontend_Web-beta, PEAR_Frontend_Gtk2, MDB2 . В конце концов, все установлено.

Следующий…

С первой попытки я думаю, что include_path был прокомментирован из файла php.ini, но поскольку я уже изменил эту строку, и это не первый раз, когда я пытался установить, я получаю следующее сообщение:

 WARNING! The include_path defined in the currently used php.ini does not contain the PEAR PHP directory you just specified: </usr/local/PEAR> If the specified directory is also not in the include_path used by your scripts, you will have problems getting any PEAR packages working. Would you like to alter php.ini </private/etc/php.ini>? [Y/n] : 

Я набираю Y и позволяю груше автоматически обновлять мой путь включения:

 php.ini </private/etc/php.ini> include_path updated. Current include path : .:/usr/share/pear Configured directory : /usr/local/PEAR Currently used php.ini (guess) : /private/etc/php.ini 

Я нажимаю Enter для продолжения и получаю следующее сообщение:

 The 'pear' command is now at your service at /usr/local/bin/pear ** The 'pear' command is not currently in your PATH, so you need to ** use '/usr/local/bin/pear' until you have added ** '/usr/local/bin' to your PATH environment variable. Run it without parameters to see the available actions, try 'pear list' to see what packages are installed, or 'pear help' for help. For more information about PEAR, see: http://pear.php.net/faq.php http://pear.php.net/manual/ Thanks for using go-pear! PHP Warning: rmdir(/usr/local/temp): Not a directory in /Users/andrew/go-pear.php on line 1237 Warning: rmdir(/usr/local/temp): Not a directory in /Users/andrew/go-pear.php on line 1237 

Обновление: Думаю, я знаю, почему появились эти последние два предупреждения. Раньше я пытался исправить проблему каталога temp, создав символическую ссылку на / tmp, но если я правильно понимаю, PEAR пытается создать свой собственный каталог temp для установки, тогда он собирается удалить его, когда он будет завершен. Поэтому я не должен был создавать эту символическую ссылку, так как она попытается удалить каталог temp после завершения установки.

Здесь есть несколько вещей, которые могут пойти не так, это только догадки.

Во-первых, есть два пути, о которых вам нужно беспокоиться. Первый – ваш путь включения PHP. Библиотеки PEAR (в основном) представляют собой только PHP-код, специально упакованный. Когда вы устанавливаете модуль PEAR, вы загружаете весь код PHP, необходимый для этой библиотеки, и любые другие библиотеки PEAR, на которые вы устанавливаете библиотеку (извините за это предложение, но я не уверен, что есть лучший способ сказать что). Это включает путь, указанный в файлах php.ini (один файл для вашей командной строки php, другой для php yoru web php, часто тот же файл).

Второй включает путь, о котором вам нужно беспокоиться, это ваш путь к UNIX / shell. Это путь, по которому ваш компьютер будет искать команды при вводе команды с терминала. Команда «груша» представляет собой команду командной строки.

Итак, мы должны убедиться, что

  1. Файл php.ini для вашего сайта имеет каталог PEAR в его пути включения
  2. Файл php.ini для вашего приложения php для командной строки имеет каталог PEAR в своем пути включения
  3. Ваше приложение оболочки (терминал, вероятно, BASH в вас находится на OS X) имеет каталог PEAR в своем пути включения

Итак, для номера 1, поставьте страницу PHP на своем сервере, которая включает вызов функции

 phpinfo(); 

В этом списке будет информация о вашем сервере. Найдите местоположение php.ini. Откройте этот файл в текстовом редакторе, найдите переменную include_path и добавьте путь к вашему каталогу PEAR (не удаляйте другие пути, просто добавьте свои).

Для номера 2 запустите в командной строке следующее:

 php -r "phpinfo();" | grep '.ini' 

Букет строк будет распечатан, найдите тот, который читает что-то вроде «Загруженного файла конфигурации». Откройте этот файл в текстовом редакторе, найдите переменную include_path и добавьте путь к вашему каталогу PEAR (не удаляйте другие пути, просто добавьте свои).

Наконец, и это то, что я считаю вашей проблемой, нам нужно убедиться, что команда командной строки pear находится в вашем пути shell / bash. Вот эта ошибка относится к

 ** The 'pear' command is not currently in your PATH, so you need to 

В вашем домашнем каталоге должен быть файл с именем «.bash_profile». Это скрытый файл, поэтому он не будет отображаться в Finder. Откройте его с помощью текстового редактора. Если у вас проблемы, потому что это скрытый файл, используйте редактор командной строки командной строки. Ctrl-X сохранит из pico

 cd ~ pico .bash_profile 

Этот файл запускается вашей оболочкой каждый раз, когда вы открываете окно терминала. Мы собираемся добавить / usr / local / bin в ваш PATH, что означает, что при попытке выполнить команду компьютер yoru будет искать команду в этой папке. Добавьте следующую строку в конец .bash_profile

 export PATH=/usr/local/bin:$PATH 

Это более или менее эквивалентно следующему PHP-коду

 $PATH = '/usr/local/bin:'.$PATH 

Вы добавляете / usr / local / bin в качестве первого места с разделителями двоеточия для поиска команды, а затем добавляете остальную часть существующего пути к ней. После того, как вы добавили эту строку, закройте свой терминал, откройте его и введите

 pear 

Это должно дать вам список действительных команд груши, но, что более важно, вы узнаете, что груша находится на вашем пути.

Удачи!

Я понял. Вы «ИДИТЕ» запускаете go-pear.php там, где вы хотите установить грушу, поэтому вам нужно запустить ее под / usr / local, если вы хотите, чтобы в pisk / bin / bin / bin /

🙂

пользователь «bryan kennedy» (выше) хотел знать синтаксис изменений «include_path», необходимых в «php.ini»,

(У меня была аналогичная проблема с OP, и я просто исправил проблему с помощью этой публикации.)

изменение на php.ini будет выглядеть как …

 include_path=".:/path_to_pear_dir/PEAR" 

так выглядит, когда вы разрешаете «go-pear.php», чтобы внести изменения ….

 ;***** Added by go-pear include_path=".:/usr/local/bin/PEAR" ;*****