1. gunzip apache_1.3.x.tar.gz
2. tar xvf apache_1.3.x.tar
3. gunzip php-3.0.x.tar.gz
4. tar xvf php-3.0.x.tar
5. cd apache_1.3.x
6. ./configure --prefix=/www
7. cd ../php-3.0.x
8. ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
9. make
10. make install
11. cd ../apache_1.3.x
12. ./configure --prefix=/www --activate-module=src/modules/php3/libphp3.a
13. make
14. make install
Вместо этих шагов Вы можете просто скопировать бинарный файл httpd поверх вашего существующего бинарного файла.
Перед этим убедитесь, что Вы выключили свой сервер.
15. cd ../php-3.0.x
16. cp php3.ini-dist /usr/local/lib/php3.ini
Вы можете отредактировать файл /usr/local/lib/php3.ini для установления опций PHP.
Если Вы предпочитаете поместить этот файл в другое место,
то используйте --with-config-file=/path в шаге 8.
17. Отредактируйте Ваш файл httpd.conf или srm.conf и добавьте:
AddType application/x-httpd-php3 .php3
Вы можете выбрать здесь любое расширение по Вашему желанию.
В данном случае мы просто рекомендуем выбрать .php3.
18. Используйте Вашу обычную процедуру для запуска сервера Apache.
(Вы должны остановить и перезапустить сервер, а не просто перезагрузить сервер
с использованием сигнала HUP или USR1).
используйте скрипт "setup", который поставляется с PHP3.
Этот скрипт задает Вам ряд вопросов (практически совпадающих
со сценарием "install" PHP/FI 2.0) и в конце запускает "configure".
Для запуска этого скрипта наберите
./setup.
Этот сценарий также создает файл, называемый "do-conf", который содержит опции,
установленные при конфигурации. Вы можете редактировать этот файл
для изменения некоторых опций без перезапуска "setup". Тогда выполните
./do-conf
и конфигурация запустится с новыми параметрами.
выполните конфигурацию вручную. Для просмотра параметров Вы можете выполнить
./configure --help.
Детали различных параметров конфигурации рассмотрены ниже.
Для построения PHP3 в качестве модуля Apache ответьте "yes" в пункте "Build as an Apache module?"
(параметр конфигурации
--with-apache =
DIR )
и определить базовый каталог дистрибутива Apache.
Если Вы распаковали свой дистрибутив Apache в директорию
/usr/local/www/apache_1.2.4
то она и будет Вашей базовой директорией дистрибутива Apache. Директория по умолчанию /usr/local/etc/httpd.
При построении fhttpd в качестве модуля fhttpd ответьте "yes" в пункте
"Build as an fhttpd module?" (параметр конфигурации
--with-fhttpd =
DIR )
и определить базовый каталог исходных кодов fhttpd. По умолчанию это
/usr/local/src/fhttpd.
Если Вы запускаете fhttpd, то построение PHP3 в качестве модуля
даст лучшую производительность и возможность контроля за удаленным исполнением.
По умолчанию PHP3 формируется как программа CGI. Если Вы используете web server
с поддержкой PHP3 в качестве модуля, то в своих решениях Вы должны исходить
из производительности. Однако CGI версия дает возможность пользователям Apache
исполнять страницы с поддержкой PHP под различными идентификаторами пользователя.
Пожалуйста, прочитайте
Security chapter
если Вы собираетесь исполнять PHP как CGI.
Включает поддержку mSQL. Параметр этой опции - установочная директория mSQL,
по умолчанию
/usr/local/Hughes.
Это директория по умолчанию дистрибутива mSQL 2.0
configure
автоматически определяет, какую версию mSQL Вы используете,
а PHP3 поддерживает как версию 1.0, так и 2.0, но если Вы компилируете PHP2 с версией mSQL1.0,
то можете получить доступ только к базам данных mSQL1.0 и наоборот.
Включает поддержку MySQL. Параметр в этой опции - установочная директория MySQL,
по умолчанию
/usr/local.
Она является директорией по умолчанию в дистрибутиве MySQL.
Включает поддержку iODBC. Этот признак был разработан сначала для iODBC Driver Manager,
перераспределяемого ODBC driver manager, который выполняется под множеством разновидностей UNIX.
Параметром этой опции является установочная директория iODBC, по умолчанию
/usr/local.
Включает поддержку Oracle. Протестирован и должен работать на версиях Oracle от 7.0 до 7.3.
Параметром является директория
ORACLE_HOME
Вы не должны определять этот параметр, если была установлена среда окружения Oracle.
Включает поддержку для произвольной custom ODBC library.
Параметром является базовая директория, по умолчанию
/usr/local.
Эта опция подразумевает, что Вы определили CUSTOM_ODBC_LIBS, когда исполняется сценарий
конфигурации. Вы также должны иметь правильный заголовочный файл odbc.h где-нибудь в путях
включения. Если у Вас его нет, то создайте свой заголовочный файл и включите его отсюда.
Он может также требовать несколько внешних определений, особенно когда это на нескольких
платформах. Определите их в CFLAGS.
Например Вы можете использовать Sybase SQL Anywhere on QNX следующим образом:
CFLAGS=-DODBC_QNX LDFLAGS=-lunix
CUSTOM_ODBC_LIBS="-ldblib -lodbc" ./configure --with-custom-odbc=/usr/lib/sqlany50
Отключает Unified ODBC модуль, который является общим интерфейсом ко всем базам данных
с интерфейсом, основанным на ODBC, таких как Solid и Adabas D. Это также работает
для нормальных библиотек ODBC. Был проверен с iODBC, Solid, Adabas D и Sybase SQL Anywhere.
Требуется, чтобы один (и только один) из этих модулей или модуль Velocis был включен
или определена пользовательская библиотека ODBC. Этот параметр применим
только если используется одна из следующих опций:
--with-iodbc ,
--with-solid ,
--with-adabas ,
--with-velocis , или
--with-custom-odbc ,
Включает поддержку
LDAP
(Lightweight Directory Access Protocol). ). Параметром является базовая установочная
директория LDAP, по умолчанию
/usr/local/ldap.
Более подробную информацию по LDAP можно найти в
RFC1777 и
RFC1778 .
Включает поддержку для семафоров Sys V (поддерживается большинством разновидностей UNIX).
Для получения подробной информации смотрим
Semaphore and Shared Memory documentation .
Включает поддержку разделяемой памяти для Sys V (поддерживается большинством разновидностей UNIX).
Для получения подробной информации смотрим
Semaphore and Shared Memory documentation .
Использует библиотеку регулярных выражений прежде, чем собственные условия.
Если Вы построили PHP3 в качестве модуля сервера, Вы должны использовать
одинаковую библиотеку - и когда собираете PHP3 и когда собираете сервер. Включите эту опцию,
если системные библиотеки обеспечивают специальные свойства, которые Вам требуются.
Рекомендуется при возможности использовать собственные библиотеки.
Разрешить только запуск исполнимых файлов в DIR при нахождении в защищенном режиме.
По умолчанию это
/usr/local/bin.
Эта опция только устанавливает значение по умолчанию, которое потом можно изменить
при помощи директивы
safe_mode_exec_dir в
configuration file .
Не включает информацию об отладке в библиотеке или исполнимой программе.
Отладочная информация просто точно указывает на ошибки, поэтому можно выключить отладку,
пока PHP3 находится в стадии бета или альфа версий.
Включает защищенный режим (safe mode) по умолчанию. Это накладывает некоторые ограничения
на действия PHP, таких как открытие файлов только внутри корня документа. Для более подробной
информации смотрите
Security chapter
Пользователи CGI всегда должны включать безопасный режим. Эта опция только устанавливает
значение по умолчанию, которое потом можно включить или выключить при помощи директивы
safe_modeconfiguration file .
Указывает PHP3 отслеживать пришедшие переменные GET/POST/cookie в массивах HTTP_GET_VARS,
HTTP_POST_VARS и HTTP_COOKIE_VARS. Эта опция только устанавливает значение по умолчанию,
которое потом можно включить или выключить при помощи директивы
track_vars в
configuration file .
Если это включено, то бинарный PHP CGI может быть безопасно помещен вне дерева web
и пользователи не смогут обойти защиту .htaccess. Читайте об этой опции
section in the security chapter .
Включает проверку безопасности для внутренних переадресаций сервера (redirect).
Вы должны использовать это, если запускаете CGI версию с Apache.
Когда PHP используется в качестве исполняемого CGI, PHP по умолчанию сначала всегда
проверяет, что используется переадресацией (например под Apache, используя директивы Action).
Это дает уверенность, что исполняемый PHP не может использоваться для того, чтобы обойти
стандартные процедуры установления прав web сервера путем непосредственного вызова,
как например
http://my.host/cgi-bin/php/secret/doc.htm.
Этот пример, доступен на
http://my.host/secret/doc.htm
но игнорирует все установленные httpd правила безопасности для директории
/secret.
Не установленная опция отключает проверку и дает возможность обхода защиты httpd
и настроек предъявления полномочий. Делайте это только тогда, когда программное обеспечение
Вашего сервера неспособно указать, что была выполнена безопасная переадресация
и все Ваши файлы в корне документа, а также директории пользователей общедоступны.
Отключает краткую форму <? ?>тегов PHP3.
Вы должны отключить краткую форму, если хотите использовать PHP3 c
XML.
При отключенной краткой форме принимается только тег PHP3
<?php ?>.
Эта опция только устанавливает значение по умолчанию, которое потом можно включить
или выключить при помощи директивы
short_open_tag в
configuration file .
При сборке PHP3 установщик просматривает заголовочные и библиотечные файлы
в различных директориях, измените соответственно переменные окружения
CPPFLAGS и LDFLAGS.
Если Вы используете нормальный shell, то вы должны написать
LDFLAGS=-L/my/lib/dir CPPFLAGS=-I/my/include/dir ./configure
Когда PHP3 сконфигурирован, Вы готовы к построению исполнимых CGI или библиотеку PHP3.
Об этом заботится команда make. Если Вы потерпели неудачу
и не можете понять почему, то смотрите раздел
Problems section .
Если Вы собрали PHP3 в качестве программы CGI, Вы можете проверить результат,
выполнив команду make test. Это хорошая идея - проверить
результат сборки. Этим способом Вы можете обнаружить проблему с Вашим PHP3 на ранней стадии,
вместо того, чтобы бороться с этим позже.
Если Вы собрали PHP3 в качестве программы CGI, Вы можете протестировать свою версию
при помощи команды make bench. Обратите внимание, что если используется
защищенный режим по умолчанию, то тест может не завершиться, если он требует больше,
чем 30 секунд. Это происходит потому, что
set_time_limit() () не может быть использована в защищенном режиме.
Используйте max_execution_time
для контроля этого времени в Ваших собственных сценариях. make bench
игнорирует configuration file .