Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
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 для запуска тестового набора)

Дополнительные загрузки

Зависимости пакета PHP

Обязательные

Apache-2.2.21

Рекомендуемые

libxml2-2.7.8

Необязательные системные утилиты и библиотеки

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 параметр --disable-libxml. Обратите внимание, что это предотвратит сборку команды pear.

Установите пакет 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