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

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

(Различия между версиями)
Перейти к: навигация, поиск
Версия 16:20, 2 августа 2011 (править)
Zaputr (Обсуждение | вклад)

← К предыдущему изменению
Версия 18:08, 26 февраля 2013 (править) (отменить)
Renton (Обсуждение | вклад)

К следующему изменению →
Строка 1: Строка 1:
 +<br />
 +<br />
 +<table cellspacing="0">
 +<tr style="background: #F7D9D9">
 +<td width="850px" style="vertical-align:top; border-top: 1px solid #D63838; border-left: 1px solid #D63838; border-bottom: 1px solid #D63838; border-right: 1px solid #D63838; padding: 1em;">
 +<span style="font-size: 16px; font-weight: bold;">Данная статья предназначена для технических специалистов.</span>
 +<p>Вы должны знать основы программирования, уметь пользоваться консольными программами и официальной документацией от разработчиков.</p>
 +
 +В связи с тем, что на сервере могут обновиться версии программ, измениться конфигурация приложений, документация в статье может не соответствовать действительности, поэтому вы должны быть готовы разобраться с возможными проблемами <b>самостоятельно</b> или с помощью специалистов из платной поддержки http://1gbsup.ru/paidsu/, обычная поддержка хостинга <b>не оказывает</b> консультации по установке и отладке скриптов.
 +</td>
 +</tr>
 +</table>
 +<br />
 +<br />
== Общие сведения == == Общие сведения ==
'''PECL''' - (PHP Extension Community Library) — это репозиторий модулей для PHP, написанных на C. В PECL находится ряд модулей к PHP, которые по каким-либо причинам (морально устарели, не прошли тестирование, имеются более функциональные аналоги) не входят в стандартную поставку PHP. '''PECL''' - (PHP Extension Community Library) — это репозиторий модулей для PHP, написанных на C. В PECL находится ряд модулей к PHP, которые по каким-либо причинам (морально устарели, не прошли тестирование, имеются более функциональные аналоги) не входят в стандартную поставку PHP.

Версия 18:08, 26 февраля 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

  • Зайдите на сервер используя доступ по SSH
  • Создайте каталог для исходных текстов PHP и перейдите в него
$ mkdir src && cd src
  • Скачайте исходные тексты PHP с http://php.net/downloads.php в соответствии с версией PHP, установленной на сервере:
$ php -v
PHP 5.2.6 (cgi-fcgi) (built: Jul 29 2008 17:50:43)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
   with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
   with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
   with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies


$ wget http://ru.php.net/get/php-5.2.6.tar.bz2/from/this/mirror
  • Распакуйте архив:
$ tar xvfj php-5.2.6.tar.bz2

или

$ tar xvfj php-5.2.6.tar.gz

если это GZip архив.

  • Переходим в каталог с исходными текстами модулей:
$ cd php-5.2.6/ext
  • В данный каталог нужно загрузить исходные тексты того модуля, который вы хотите установить, для примера возьмем 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
  • Подготовка исходных текстов:
$ phpize
  • Конфигурирование и компиляция:
$ ./configure && make
  • Установка модуля в домашний каталог в ~/php/5.2.6/ext
$ mkdir -p ~/php/5.2.6/ext && install modules/imagick.so ~/php/5.2.6/ext

Теперь, используя собственный php.ini, вы можете изменить параметр extension_dir и через директиву 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
Личные инструменты