Собственные модули и расширения (PECL и PEAR) PHP

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 09:21, 27 февраля 2013 (править)
Renton (Обсуждение | вклад)
(Установка модулей из PECL)
← К предыдущему изменению
Версия 09:26, 27 февраля 2013 (править) (отменить)
Renton (Обсуждение | вклад)
(Установка компонентов PEAR)
К следующему изменению →
Строка 67: Строка 67:
==Установка компонентов PEAR== ==Установка компонентов PEAR==
-Наиболее простой и правильный способ установки возможен с помощью скрипта http://pear.php.net/go-pear загрузите его на сайт (на забыв переименовать в go-pear.php), запустите через браузер и следуйте указаниям установщика.+=== Через веб-интерфейс ===
 +Наиболее простым способом установки является установка с помощью скрипта http://pear.php.net/go-pear, загрузите его на сайт (на забыв переименовать в go-pear.php), запустите через браузер и следуйте указаниям установщика.
-Актуальный второй способ:+=== Через консоль ===
- $ wget http://pear.php.net/go-pear.phar ; php -d detect_unicode=0 go-pear.phar+Еще один способ установки используя консольные команды:
 + $ wget <nowiki>http://pear.php.net/go-pear.phar</nowiki> ; php -d detect_unicode=0 go-pear.phar
Во время установки обратите внимание на пути установки, сделайте их такими, чтобы Во время установки обратите внимание на пути установки, сделайте их такими, чтобы
Вам было удобно. Вам было удобно.
Строка 82: Строка 84:
Подробнее см. http://pear.php.net/manual/en/installation.php Подробнее см. http://pear.php.net/manual/en/installation.php
- 
==Дополнительная информация== ==Дополнительная информация==

Версия 09:26, 27 февраля 2013



Данная статья предназначена для технических специалистов.

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

В связи с тем, что на сервере могут обновиться версии программ, измениться конфигурация приложений, документация в статье может не соответствовать действительности, поэтому вы должны быть готовы разобраться с возможными проблемами самостоятельно или с помощью специалистов из платной поддержки http://1gbsup.ru/paidsu/, обычная поддержка хостинга не оказывает консультации по установке и отладке скриптов.



Содержание

Общие сведения

PECL - (PHP Extension Community Library) — это репозиторий модулей для PHP, написанных на C. В PECL находится ряд модулей к PHP, которые по каким-либо причинам (морально устарели, не прошли тестирование, имеются более функциональные аналоги) не входят в стандартную поставку PHP.

PEAR - (PHP Extension and Application Repository) — это библиотека классов PHP с открытым исходным кодом. Т.е. это обычный набор PHP-скриптов не требующий предварительной компиляции для их установки.


Примечание:

  1. На хостинге 1Gb.ru уже включено по-умолчанию подавляющее большинство модулей PHP (которые можно включить на виртуальном хостинге), посмотрите на вывод функции phpinfo(), возможно, требуемый вам модуль уже работает.
  2. Модуль DOM XML доступен только в PHP 4 (у нас этот модуль включен), в PHP 5 используйте DOM (также включен).
  3. Установка собственных модулей возможна только на серверах UNIX/Apache/FastCGI или UNIX/Apache/CGI.


Установка модулей из PECL

1. Зайдите на сервер используя доступ по SSH
2. Создайте каталог для исходных текстов PHP и перейдите в него

$ mkdir ~/src && cd src

3. Теперь нужно скачать исходные тексты www.php.net/releases, которые соответствуют версии PHP используемой на сайте. Определить версию можно с помощью такой команды:

$ awk '/exec/ {system ($2" -v | grep ^PHP")}' ~/.fast-php/fast-php

Далее идут примеры команд для версии PHP 5.2.6.

$ wget http://ru.php.net/get/php-5.2.6.tar.bz2/from/this/mirror

4. Распаковка архива:

$ tar xvfj php-5.2.6.tar.bz2

5. Переходим в каталог с исходными текстами модулей:

$ cd php-5.2.6/ext

6. В данный каталог нужно загрузить исходные тексты того модуля, который вы хотите установить, для примера возьмем imagick из PECL:

$ wget http://pecl.php.net/get/imagick-2.2.1RC2.tgz
$ tar xvfz imagick-2.2.1RC2.tgz
$ cd imagick-2.2.1RC2

7. Определим PHP_PREFIX с целью вызова правильных версий команд phpize, php-config :

$ export PHP_PREFIX=/opt/php$(awk '/exec/ {system ($2" -v | grep -o \"5\\.[[:digit:]]\\+\"")}' ~/.fast-php/fast-php)_aux1/current

8. Подготовка исходных текстов:

$ $PHP_PREFIX/bin/phpize

9. Конфигурирование и компиляция:

$ ./configure --with-php-config=$PHP_PREFIX/bin/php-config && make

10. Установка модуля в домашний каталог в ~/php/

$ mkdir -p ~/php/$(awk '/exec/ {system ($2" -v | grep -o \"5\\.[[:digit:]]\\+\"")}' ~/.fast-php/fast-php)/ext && install modules/imagick.so ~/php/*/ext

11. Копируем себе php.ini :

$ cp -v /opt/hostpublic/etc/php$(awk '/exec/ {system ($2" -v | grep -o \"5\\.[[:digit:]]\\+\"")}' ~/.fast-php/fast-php)_aux1/php.ini ~/.php/

12. В ~/.php/php.ini в директиве extension_dir прописываем абсолютный путь, где лежит наш модуль. Например:

extension_dir = "/home/virtwww/имя_пользователя/php/версия_php/ext

и через директиву extension подключаем сам модуль:

extension=imagick.so

Установка компонентов PEAR

Через веб-интерфейс

Наиболее простым способом установки является установка с помощью скрипта http://pear.php.net/go-pear, загрузите его на сайт (на забыв переименовать в go-pear.php), запустите через браузер и следуйте указаниям установщика.

Через консоль

Еще один способ установки используя консольные команды:

$ wget http://pear.php.net/go-pear.phar ; php -d detect_unicode=0 go-pear.phar

Во время установки обратите внимание на пути установки, сделайте их такими, чтобы Вам было удобно.

$ mv ~/.php/php.ini ~/.php/php.ini.old
$ cp /etc/php/php.ini ~/.php/php.ini

В ~/.php/php.ini исправьте include_path (надо раскомментировать директиву include_path и добавить в её значение правильный путь до PEAR , он должен выглядеть примерно так : /home/virtwww/%username%/http/pear/share/pear) и внесите поправки в соответствии с ~/.php/php.ini.old

После редактирования php.ini выполните

$ killall -q php >/dev/null 2>&1

Подробнее см. http://pear.php.net/manual/en/installation.php

Дополнительная информация

  • phpinfo() - типичная конфигурация сервера 1Gb.ru PHP4/Windows
  • phpinfo() - типичная конфигурация сервера 1Gb.ru PHP5/Windows
  • phpinfo() - типичная конфигурация сервера 1Gb.ru PHP5/UNIX
  • PECL - официальный сайт PECL
  • PEAR - официальный сайт PEAR
Личные инструменты