Библиотека сайта rus-linux.net
Beyond Linux From Scratch. Version 2011-12-30 | ||
Назад | 12. Программирование | Вперед |
Пакет PHP-5.3.8
Знакомимся с пакетом PHP
В пакете PHP находится гипертекстовый препроцессор PHP. В основном используется в динамических веб-сайтах и позволяет вставлять программный код непосредственно в разметку HTML. Также используется как скриптовый язык общего назначения
Известно, что пакет правильно собирается и работает на платформе LFS-7.0.
Информация о пакете
- Загрузка (HTTP): http://us2.php.net/distributions/php-5.3.8.tar.bz2
- Загрузка (FTP): ftp://ftp.isu.edu.tw/pub/Unix/Web/PHP/distributions/php-5.3.8.tar.bz2
- Контрольная сумма MD5: 704cd414a0565d905e1074ffdc1fadfb 8
- Размер загружаемого пакета: 10,7 MB
- Оценочный размер требуемого дискового пространства: 253 MB (в том числе установка всей документации)
- Оценочное время сборки: 2,4 SBU (дополнительно 2,2 SBU для запуска тестового набора)
Дополнительные загрузки
- Предварительно собранная документация (необязательная): http://www.php.net/download-docs.php
Зависимости пакета PHP
Обязательные
Рекомендуемые
Необязательные системные утилиты и библиотеки
libxslt-1.1.26, PCRE-8.12, Aspell-0.60.6, enchant-1.6.0, Recode-3.6, Expat-2.0.1 (устаревшая альтернатива для libxml2-2.7.8), OSSP mm, Net-SNMP, Pth-2.0.7, re2c, XMLRPC-EPI, Dmalloc и MTA (в котором присутствует команда sendmail)
Необязательные графические утилиты и библиотеки
libjpeg-8c, LibTIFF-4.0.0, libpng-1.5.5, libexif-0.6.19, FreeType-2.4.8, система X Window, ClibPDF, GD, t1lib и FDF Toolkit
Необязательные веб утилиты
cURL-7.22.0, HTML Tidy-cvs_20101110, mnoGoSearch, Hyperwave, Roxen WebServer, Caudium и WDDX
Необязательные утилиты и библиотеки управления данными
OpenLDAP-2.4.23, Berkeley DB-5.2.36, MySQL-5.5.17, PostgreSQL-9.0.6, unixODBC-2.3.0, SQLite-3.7.8, QDBM, cdb, Mini SQL, Empress, Birdstep, DBMaker, Adabas, FrontBase и Monetra
В PHP представлена поддержка многих коммерческих баз данных, например, Oracle, SAP и ODBC.
Необязательные утилиты и библиотеки шифрования / дешифрования
OpenSSL-1.0.0e, Cyrus SASL-2.1.23, MIT Kerberos V5-1.6 или Heimdal-1.4, libmcrypt и mhash
Замечания для пользователей: http://wiki.linuxfromscratch.org/blfs/wiki/php
Установка пакета PHP
Вы можете использовать PHP для написания скриптов на серверной стороне, скриптов, работающих в командной строке, или графических приложений, выполняемых на клиентской стороне. В настоящей книге приводятся инструкции по настройке PHP для варианта использования скриптов на серверной стороне, поскольку это наиболее распространенный случай.
ЗамечаниеВ команде configure для PHP есть очень много параметров конфигурирования, которые предназначены для различных целей. Вы можете выполнить команду ./configure --help и увидеть полный список доступных параметров. Кроме того, настоятельно рекомендуется обратиться на сайт PHP, поскольку на нем есть очень хорошая документация. Пример команды configure, в котором используется большое количество наиболее распространенных зависимостей, можно найти на http://anduin.linuxfromscratch.org/files/BLFS/svn/php_configure.txt. Если по какой-нибудь причине у вас не установлен пакет libxml2-2.7.8, вам нужно в инструкциях, приведенных ниже, добавить к команде configure параметр |
Установите пакет PHP с помощью следующих команд:
./configure --prefix=/usr \ --sysconfdir=/etc \ --with-apxs2 \ --with-config-file-path=/etc \ --with-zlib \ --enable-bcmath \ --with-bz2 \ --enable-calendar \ --enable-dba=shared \ --with-gdbm \ --with-gmp \ --enable-ftp \ --with-gettext \ --enable-mbstring \ --with-readline && make
Чтобы проверить результаты, выполните команду make test. Известно, что некоторые тесты не проходят.
Теперь в роли пользователя root
выполните:
make install && install -v -m644 php.ini-production /etc/php.ini && install -v -m755 -d /usr/share/doc/php-5.3.8 && install -v -m644 CODING_STANDARDS EXTENSIONS INSTALL NEWS \ README* TODO* UPGRADING php.gif \ /usr/share/doc/php-5.3.8 && ln -v -sfn /usr/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt \ /usr/share/doc/php-5.3.8 && ln -v -sfn /usr/lib/php/doc/Structures_Graph/docs \ /usr/share/doc/php-5.3.8
Предварительно собранная документация, имеющая формат HTML, упакована в двух вариантах: в виде архива, в котором много отдельных файлов, удобных для быстрой загрузки в ваш браузер, и в виде одного отдельного большого файла, который удобен, когда вы в вашем браузере используете команду поиска. Если вы скачали какой-нибудь из этих вариантов или оба варианта, то в роли пользователя root
выполните следующие команды с тем, чтобы их установить (обратите внимание, что в этих инструкциях предполагается, что устанавливается документация на английском языке; если необходимо, то измените имена архивов, приведенных ниже).
Для “одного HTML” файла:
install -v -m644 ../php_manual_en.html.gz \ /usr/share/doc/php-5.3.8 && gunzip -v /usr/share/doc/php-5.3.8/php_manual_en.html.gz
Для архива с “множеством файлов HTML”:
tar -xvf ../php_manual_en.tar.gz \ -C /usr/share/doc/php-5.3.8 --no-same-owner
Пояснение команд
--with-apxs2
: Этот параметр указывает собирать модуль Apache HTTPD 2.0.
--with-config-file-path=/etc
: Этот параметр указывает, что PHP будет искать конфигурационный файл php.ini
в директории /etc
.
--with-zlib
: Этот параметр добавляет поддержку сжатия Zlib.
--enable-bcmath
: Включает математические функции, использующие режим точности в стиле bc.
--with-bz2
: Этот параметр добавляет поддержку функции сжатия Bzip2
--enable-calendar
: Этот параметр включает поддержку преобразования календарных значений.
--enable-dba=shared
: Этот параметр включает поддержку функций абстрактного слоя баз данных (dbm-стиль).
--enable-ftp
: Этот параметр включает поддержку функций FTP.
--with-gettext
: Этот параметр включает поддержку функций, в которых используются текстовые преобразования с помощью Gettext.
--enable-mbstring
: Этот параметр включает поддержку строк, использующих многобайтовую кодировку.
--with-readline
: Этот параметр включает в командной строке поддержку функции Readline.
--disable-libxml
: Этот параметр позволяет собирать PHP без установленного модуля libxml2.
Конфигурирование пакета PHP
Конфигурационные файлы Files
/etc/php.ini
и /etc/pear.conf
Подробнее о конфигурировании
Файл /etc/php.ini
, используемый по умолчанию в качестве конфигурационного файла, рекомендуется командой разработчиков PHP. С помощью этого файла изменяется поведение пакета PHP, определенное по умолчанию. Если файл /etc/php.ini
не используется, то для всех конфигурационных настроек будут использоваться значения, задаваемые по умолчанию. Вам необходимо просмотреть комментарии в этом файле и выполнить те изменения, которые подходят для вашего случая.
В результатах работы команды make install вы можете увидеть следующее:
You may want to add: /usr/lib/php to your php.ini include_path
Если хотите, то в роли пользователя root
добавьте запись с помощью следующей команды:
sed -i 's@php/includes"@&\ninclude_path = ".:/usr/lib/php"@' \ /etc/php.ini
Чтобы включить поддержку PHP в веб-сервере Apache, в файл httpd.conf
нужно добавить новые директивы LoadModule (которая должна автоматически обрабатываться командой make install) и AddType:
LoadModule php5_module lib/apache/libphp5.so AddType application/x-httpd-php .php
Кроме того, может оказаться полезным добавить запись для index.php
в директиву DirectoryIndex в файле httpd.conf
. Наконец, добавьте строку для настройки расширения .phps
, если желательно подсвечивать файлы с исходным кодом PHP:
AddType application/x-httpd-php-source .phps
После внесения любых модификаций в файл httpd.conf
, вам потребуется перезагрузить веб-сервер Apache.
Описание пакета
Установленные программы: pear, peardev, pecl, php, php-config и phpize
Установленные библиотеки: модуль Apache libphp5.so
Установленные директории: /usr/include/php, /usr/lib/php и /usr/share/doc/php-5.3.8
Краткое описание
php | это интерфейс командной строки, который позволяет анализировать и выполнять код PHP |
pear | является менеджером пакетов репозитария расширений и приложений PHP (PHP Extension and Application Repository - PEAR) |
Перевод сделан с варианта оригинала, датированного 2011-11-15 18:59:00 +0000
Предыдущий раздел: | Оглавление | Следующий раздел: |
Пакет Perl Modules | Пакет pkg-config-0.26 |