Библиотека сайта 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 |

