PHP SQL
PHP SQL .ru
  Главная  Уроки  PHP  MySQL  jQuery  RegEx  CSS  Книги  Форум  
 Функции


  На главную

  Назад  Вперед

  Печать

Добавление PHP-расширений

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

Проверка наличия расширений в вашей системе На многих Web-серверах уже установлены самые полезные расширения, поэтому перед установкой нового расширения нужно сначала проверить, что оно еще не установлено.

Самый простой способ сделать это - вызвать функцию phpinfо () (см. п. #8). Пролистайте вывод функции в поисках нужной библиотеки. Например, если MySQL-функции доступны, вы увидите подобный раздел:

mysql
MySQL Support => enabled
Если вы по каким-то причинам не желаете использовать phpinfо() или считаете, что это слишком медленный способ, есть другие методы, которые вы можете попробовать.

Каждое расширение добавляет новые функции: например, cURL добавляет функции cURL__init () и cURL_setopt (), Mcrypt добавляетmcrypt_encrypt () и mcrypt_decrypt () и т.д. Предположим, что Mcrypt не установлен, следова-тельно, РНР сообщит, что функция mcrypt_decrypt () не определена.

Проверить доступность функции можно с помощью функции function__ exists (). Давайте попробуем определить наличие расширения MySQL:

<?php
if  (function_exists(mysql_connect))   {
 print  MySQL present; 
} else {
print  MySQL nbt present;
}
?>
Попросите хостинг-провайдера загрузить расширения
Если у вас нет своего собственного Web-сервера, как у большинства людей, вы будете использовать хостинг, предоставляемый хостинг-провайдером. Поскольку у вас не будет root-доступа, вы не сможете самостоятельно установить библиотеки. В этом случае нужно попросить администратора сервера установить их для вас. Когда будете делать запрос, обязательно указывайте точную информацию о расширении, иначе администратор может установить не ту версию расширения или даже не то расширение, которое вам нужно.

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

Примечание.
Даже если у вас свой Web-сервер, намного проще попросить техническую поддержку установить новые расширения, чем устанавливать их вручную.
Теоретически, если что-то пойдет не так при установке, они смогут это исправить.


Установка расширений с помощью панели управления хостингом

У большинства арендуемых серверов есть панель управления, позволяющая Web-мастеру выполнить различные задачи по управлению сервером (например, перезапуск Apache или перезагрузку сервера) через Web-браузер.

Эти панели управления иногда позволяют вам автоматически перекомпилировать Apache или РНР, используя выпадающие списки или меню для выбора расширений, которые вы хотите добавить в РНР

Например, панель управления WHM позволяет переустанавливать Apache и РНР, добавляя при этом необходимые вам расширения.

Примечание.
Если у вашего сервера нет предустановленной панели управления, обычно нужно немного доплатить, чтобы она появилась!

Самостоятельная установка расширений

Перекомпиляция РНР - Unix-способ переустановки РНР с установкой необходимых расширений. Если вы не знакомы с администрированием UNIX, перекомпиляция РНР может показаться чем-то пугающим.

Лучше всего сначала экспериментировать с локальным сервером Apache, а потом повторить эксперимент «по образу и подобию» на основном сервере. В этом случае вы убедитесь, что все работает как нужно, и не повредите работающий сервер. Установка PHP-библиотеки происходит в два этапа: установка самой библиотеки и подключение ее к РНР.

Установка библиотек

Действия по установке того или иного расширения зависят от самого устанавливаемого расширения. В этом разделе мы рассмотрим общие реко-мендации по установке расширений. Подробную информацию по установ-ке необходимого вам расширения вы найдете на сайте разработчика или в файле README (не забудьте прочитать весь этот файл перед установкой расширения!). Если вы нуждаетесь в подробном объяснении, рекомендую книгу Брайена Варда «Как работает Linux» (How Linux Works, No Starch Press 2004).

Рассмотрим общие этапы установки расширения:

1. Зарегистрируйтесь на сервере как root или как пользователь, имеющий право на установку новых программ.

2. Загрузите архив с библиотекой в корневой каталог сервера. Чтобы найти архив, используйте Google-запрос: имя_библиотеки и РНР, на-пример «mcrypt php» (без кавычек). Обычно у архива библиотеки будет расширение . tar. gz, например libraryfilename. tar. gz.

3. Распакуйте содержимое архива. В TAR-архиве содержатся как фай-лы, так и каталоги без сжатия. Чтобы уменьшить размер архива, его за-паковывают архиватором GZ, поэтому и появляется расширение .gz в имени архива. Поэтому архив . tar. gz подобен архиву . zip, за исключением того, что архив .tar.gz создается в два этапа двумя разными программами. Однако для распаковки архива вам не нужно ис-пользовать две программы, поскольку программа tar знает, как вызвать распаковщик GZ-архива. Для распаковки нашего архива введите команду tar zxvf libraryfilename. tar. gz. Вы увидите список распакованных файлов и каталогов. Структура каталогов архива обычно повторяет структуру каталогов сервера, поэтому вам не нужно заботиться, в какой каталог извлечь файлы - архиватор распакует файлы в «правильные» каталоги.

4. Перейдите в каталог, в который была установлена библиотека, с помощью команды cd имя_каталога. Если вы не помните или не заметили, в какой каталог была установлена библиотека, обычно можно использовать имя библиотеки, например cd cURL (помните, что имена каталогов чувствительны к регистру символов, поэтому cURL - это не CURL).

5. Выполните команду configure для того, чтобы убедиться, что на ва-шей машине установлены все необходимые компоненты для установки расширения. Поскольку существует несколько различных типов Unix, команда configure выполняет всю грязную работу по проверке параметров сервера, необходимых для установки программы.
Введите команду ./configure. Некоторые расширения требуют установки дополнительных параметров после команды . /configure, например, расширение Mcrypt требует, чтобы вы ввели ./configure —disable-nls —disable-posix-threads, иначе не будет гарантироваться совместимость с Apache. Поскольку набор конкретных параметров зависит от устанавливаемой библиотеки, более подробную информацию вы получите в руководствах или файле README библиотеки.

6. Откомпилируйте и установите пакет. В Unix для компиляции и уста-новки программы используется команда make. Сначала нужно ввести команду make - для компиляции пакета. Затем введите команду make check для выполнения самодиагностики пакета (у некоторых па-кетов нет функции самодиагностики, поэтому особенно не беспокойтесь по этому поводу). Затем введите команду make install для установки расширения. По завершении выполнения этой команды ваше расширение будет установлено.

7. Создайте сценарий, вызывающий phpinf о (). С функцией phpinfо () (см. #8) вы получите полный список параметров сервера, включая установленные расширения.

Скопируйте информацию о конфигурации в текстовый файл и добавь-те соответствующую директиву —with в его конец, например, если вы хотите добавить Mcrypt, тогда вам нужно добавить в конце строки кон-фигурации —with-mcrypt. Чтобы найти правильный —with-napaметр, просмотрите документацию по устанавливаемому расширению.

Примечание.
Если вы при распаковке архива с библиотекой изменили ката-лог установки и установили библиотеку в другой каталог (от-личный от каталога по умолчанию), вам нужно после параметра —with добавить путь к библиотеке, например —with-apxs= /usг/local/apache/bin/apxs.

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

9. Скопируйте команду configure, созданную вами ранее, из текстового файла, вставьте ее в командную строку и нажмите ENTER для ее запуска. Это переконфигурирует РНР с новой библиотекой, сохранив предыдущие библиотеки.

10. Откомпилируйте РНР. Запустите команду make, затем запустите make install. Эти команды откомпилируют и установят все компоненты РНР.

Примечание.
Если вы вносили изменения в php.ini, как было показано выше, они будут перезаписаны значениями по умолчанию после перекомпиляции РНР. Перед компиляцией РНР сделайте резервную копию вашего файла php.ini.

11. Перезапустите Apache. Выполните команду apachectl graceful.

12. Проверьте РНР. Первым делом выполните самый простой сценарий «Hello World!», чтобы убедиться, что после установки новой библиотеки РНР работает правильно.

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

Первая проблема возникает из-за несовместимости версий программного обеспечения. Возможно, не совпадают версии РНР и библиотеки, или даже нужно установить другую версию компилятора С и обновить библиотеки С.

Вторая причина заключается в том, что вы пытаетесь откомпилировать РНР, используя параметр —with без указания пути или с неправильным путем, например —with-mcrypt=/usr/lib/mcrypt.

Третья причина - неправильная настройка расширения. Как было отмечено выше, вам нужно конфигурировать Mcrypt с опциями —disable-nls —disable-posix-threads, иначе вы рискуете повредить Apache. Для других библиотек нужно задать подобные опции. Для более подробной информации просмотрите FAQ, страницы man и файлы README.

 
Предыдущая   На главную   Следующая          

Ваш комментарий:

'

Реклама на сайте | Обмен ссылками | Ссылки | Контакты
Добавить статью | Добавить исходник
2010-2014 © phpsql.ru