Этот раздел описывает установку PHP c Apache 2.0 на Unix системах.
Мы не рекомендуем использовать потоковый MPM в промышленной среде вместе с Apache 2. Вместо этого, используйте prefork MPM или первый Apache. Подробную информацию по этому вопросы вы можете найти в соответствующем разделе FAQ
За базовой информацией об Apache 2.0 обращаетесь к » документации Apache.
Замечание: Совместимость PHP и Apache 2.0.x
Следующие версии PHP признаны совместимыми с веб-сервером Apache 2.0.x
- PHP 4.3.0 и более поздние, доступны на странице » http://www.php.net/downloads.php.
- Последняя стабильная разрабатываемая версия. Скачать исходные коды можно здесь:» http://snaps.php.net/php5-latest.tar.gz, а бинарные сборки для Windows здесь: » http://snaps.php.net/win32/php5-win32-latest.zip.
- Версии в разработке: » http://qa.php.net/.
- Вы всегда можете получить PHP с помощью » анонимного CVS.
Эти версии PHP совместимы с Apache 2.0.40 и более поздними релизами сервера.
Apache 2.0 SAPI поддерживается начиная с версии PHP 4.2.0. PHP 4.2.3 работает с версией Apache 2.0.39, не используйте другие версии Apache с PHP 4.2.3. Все же рекомендуется устанавливать PHP 4.3.0 или более позднюю версию и самую последнюю версию Apache2.
Все упомянутые версии PHP продолжают работать с Apache 1.3.x.
Скачайте последнюю версию » Apache 2.0 и соответствующую версию PHP. Это краткое руководство описывает лишь базовую установку Apache 2.0 и PHP Для получения более детальной информации прочитайте » документацию Apache. В инструкции ниже опущены номера версий - замените 'NN' на номер версии присутствующий в именах скачанных вами файлов.
Пример #1 Инструкция по установке PHP, как подгружаемого модуля Apache 2
1. gzip -d httpd-2_0_NN.tar.gz 2. tar xvf httpd-2_0_NN.tar 3. gunzip php-NN.tar.gz 4. tar -xvf php-NN.tar 5. cd httpd-2_0_NN 6. ./configure --enable-so 7. make 8. make install Теперь ваш Apache 2.0.NN доступен как /usr/local/apache2, сконфигурирован с поддержкой подгружаемых модулей и стандартным мульти-процессорным модулем (MPM) prefork. Чтобы простестировать правильность установки используйте стандартную процедуру запуска Apache, такую как: /usr/local/apache2/bin/apachectl start Затем остановите сервер, чтобы сконфигурировать и установить PHP /usr/local/apache2/bin/apachectl stop. 9. cd ../php-NN 10. Теперь мы сконфигурируем PHP. Здесь вы можете настроить установку PHP при помощи параметров командной строки скрипта configure. Вы можете включить или выключить некоторые расширения. Просмотрите вывод команды ./configure --help для получения полного списка параметров конфигурации. В нашем примере мы сконфигурируем PHP очень просто - с поддержкой Apache и MySQL. В вашей системе путь до apxs может отличаться от указанного в примере, так же бинарный файл может иметь имя apxs2. ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql 11. make 12. make install Если вы решите изменить параметры конфигурации после установки, вам надо будет повторить только три последних шага. Так же вам надо будет рестартовать Apache, чтобы новые модули подгрузились и начали работать. Перекомпиляция Apache для этого не требуется. Заметьте, что 'make install' установит так же PEAR, различные инструменты PHP - такие как phpize, версию PHP для командной строки (PHP CLI) и т.д. 13. Настройка вашего php.ini cp php.ini-dist /usr/local/lib/php.ini Вероятно, вы захотите изменить некоторые настройки в php.ini. Если вы предпочитаете держать файл php.ini в другом месте, используйте параметр --with-config-file-path=/some/path в шаге 10. Если вы используете php.ini-recomended, прочитайте его, чтобы знать какие изменения в поведении PHP это повлечет. 14. Отредактируйте ваш httpd.conf, чтобы Apache подгружал модуль PHP. Путь в инструкции LoadModule должен указывать на модуль PHP. Команда make install может добавить эту иструкцию автоматически, но этого может и не произойти, поэтому проверьте, чтобы убедиться. Для PHP 4: LoadModule php4_module modules/libphp4.so Для PHP 5: LoadModule php5_module modules/libphp5.so 15. Теперь следует сконфигурировать Apache, чтобы он передавал файлы с некоторыми расширениями на обработку модулю PHP. В нашем примере сделаем это для файлов с расширениями .php и .phtml. Вы можете добавить так же другие расширения в конец строки, разделяя их символом пробела. AddType application/x-httpd-php .php .phtml Сделаем то же самое для расширения .phps - модуль PHP покажет его как исходный код с подстветкой синтаксиса, вместо того, чтобы исполнять. AddType application/x-httpd-php-source .phps 16. Используйте стандартную процедуру запуска Apache, например: /usr/local/apache2/bin/apachectl start
Следуя иструкциям выше вы запустите веб-сервер Apache 2.0 с поддержкой PHP, как модуля SAPI. Конечно, для PHP и Apache доступно гораздо больше параметров конфигурации. Используйте ./configure --help для получения полного списка параметров конфигурации. Если вы хотите собрать многопоточную версию Apache 2.0, вам следует заменить стандартный модуль MPM prefork на worker или perchild. Чтобы сделать это, нужно добавить в строку configure на шаге 6, описанном выше один из двух параметров --with-mpm=worker или --with-mpm=perchild. Вам следует знать как могут повлиять такие изменения. Для получения подробной информации прочитайте документацию Apache касательно » модулей MPM.
Замечание: Если вы хотите использовать зависимый контент (content negotiation), прочитайте Apache MultiViews FAQ.
Замечание: Для построения многопоточной версии Apache, ваша система должна поддерживать потоки. Это так же подразумевает сборку PHP c поддержкой Zend Thread Safety (ZTS). И, как следствие, не все расширения PHP смогут работать. Рекомендуется установка Apache с модулем MPM prefork.