Как включить php в apache
Перейти к содержимому

Как включить php в apache

  • автор:

Как включить php в apache?

Установил apache, php-fpm, libapache2-mod-php. Хотел включить через a2enmod php, но при старте получаю ошибку. Удалил Апач, установил, но php mod пропал из спика установленных. Что делать?

  • Вопрос задан более трёх лет назад
  • 4447 просмотров

9 комментариев

Оценить 9 комментариев

slo_nik

Дмитрий @slo_nik Куратор тега PHP
Добрый вечер.
Опишите подробней, как устанавливали, как настраивали, какие ошибки получаете.

kirill_782

Кирилл Жиляев @kirill_782 Автор вопроса

slo_nik: ошибок нет. Ставил php-fpm либу для апча, и сам Апач. Включил php Апач перестал запускаться. Лог ошибок пустой. Удалил Апач поставил Апач. Теперь не могу включить php

slo_nik

Дмитрий @slo_nik Куратор тега PHP
Кирилл Жиляев: Как ставили, на стол? Или как?

kirill_782

Кирилл Жиляев @kirill_782 Автор вопроса

slo_nik: apt-get install php-fpm apache2 libapache2-mod-php
a2enmod php # модуля нет
В a2enmod даже намеков нету на php

slo_nik

Дмитрий @slo_nik Куратор тега PHP
Кирилл Жиляев: Удалите всё, что пытались поставить и установите заново при помощи tasksel

kirill_782

Кирилл Жиляев @kirill_782 Автор вопроса
slo_nik: удалял эти пакеты — 0 реакции

slo_nik

Дмитрий @slo_nik Куратор тега PHP

Кирилл Жиляев: Удалите пакеты, потом ставите tasksel
sudo apt-get install tasksel
Затем
sudo tasksel
Клавишами курсора выбираете LAMP Serve, подтверждаете выбор пробелом, затем TAB и ENTER. Установится полностью apache + php + mysql

kirill_782

Кирилл Жиляев @kirill_782 Автор вопроса

slo_nik что делать?
Reading package lists. Done
Building dependency tree
Reading state information. Done
libapache2-mod-php7.0 is already the newest version (7.0.15-0ubuntu0.16.04.4).
0 upgraded, 0 newly installed, 0 to remove and 67 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up libapache2-mod-php7.0 (7.0.15-0ubuntu0.16.04.4) .
dpkg: error processing package libapache2-mod-php7.0 (—configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
libapache2-mod-php7.0
E: Sub-process /usr/bin/dpkg returned an error code (1)
ladybug@72261:~$

Подключение PHP к Apache

project author

Если Вам понравился данный материал, поделитесь им с вашими друзьями в соц сетях

Основной особенностью веб-сервера Apache является расширяемость его функциональных возможностей, по средствам подключения различных дополнительных модулей. Каждый из них выполняет определенные задачи. Часть модулей разрабатывается командой Apache Software Foundation, другая часть, отдельными open source разработчиками.

Используя данный функционал, к веб-серверу Apache, возможно подключить, к примеру, поддержку различных языков программирования, таких как: PHP, PERL, Python, Ruby, ASP и др.

В одном из предыдущих материалов Установка Apache 2.4, был описан процесс установки и запуска локального веб-сервера Apache на ОС Microsoft Windows 7. Теперь подключим к нему язык программирования PHP. Какую версию PHP выбрать и где ее скачать описано в материале Что необходимо для установки веб-сервера?

Подключение PHP к Apache

Итак, имея в наличии, ранее скаченный архив с необходимой версией PHP, создадим в корне локального диска «C:\» директорию «php», и распакуем в нее содержимое архива.

Перейдем в директорию «C:\php\» и найдем 2 файла: «php.ini-development» и «php.ini-production». Эти файлы — примеры конфигурационных файлов PHP. Сделайте копию файла «php.ini-development» с именем «php.ini», в дальнейшем это будет основным конфигурационным файлом настройки PHP. Текущих настроек файла ««php.ini»» будет достаточно, для того, что бы подключить модуль PHP к веб-серверу Apache и проверить его корректную работу.

Теперь необходимо сообщить нашему веб-сервер Apache, что необходимо подключить модуль PHP.

Открываем конфигурационный файл веб-сервера «C:\Apache24\conf\httpd.conf» и раскомментируем следующие строки (данные строки отвечают за подключение необходимый модулей):

LoadModule negotiation_module modules/mod_negotiation.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so

Сразу после блока с подключением модулей, добавляем в конф. файл следующие строки:

PhpIniDir "C:/php" LoadModule php5_module "C:/php/php5apache2_4.dll" AddHandler application/x-httpd-php .php

В первой строке указываем путь до директории с конфигурационным файлом PHP — «C:\php\php.ini».

Во второй строке говорим веб-серверу, что необходимо загружать модуль PHP, который отвечает за обработку php файлов, указывая при этом полный путь до библиотеки dll. Необходимо помнить, что имя библиотеки может отличаться от указанного.

В третей строке указываем расширение файлов, которые будут обрабатываться интерпретатором PHP.

Ниже в конфигурационном файле ищем блок:

 DirectoryIndex index.html 

и добавляем в конце второй строки «index.php»

 DirectoryIndex index.html index.php 

Перезагружает веб-сервер любым удобным для Вас способом (используя ApacheMonitor, сервис Службы или командную строку). Если при перезагризки веб-сервера возникли ошибки и он не запустился, проверьте все измененые Вами данные, возможно была допущена опечатка в указании путей.

Проверяем работает ли PHP

После успешного запуска веб-сервера, необходимо проверить, что PHP работает. Для этого создаем в корневой директории управления сайтами «C:\Apache24\htdocs\» файл c именем «phpinfo.php», открываем его в текстовом редакторе и добавляем следующие строки:

phpinfo — это системная PHP-функция, выводящая различную информацию об интерпретаторе: настройки, текущие значения системных переменных и т.д.

Открываем в браузере страницу http://localhost/phpinfo.php. Если все настроено правильно, то странице Вы увидите таблицу с версией PHP и значением переменных.

Работа с конфигурационным файлом php.ini

Открываем конфигурационный файл php «C:\php\php.ini» в текстовом редакторе.

;extension_dir = "ext"

это значение указывает на директорию (каталог), в котором хранятся динамически загружаемые расширения.

раскомментируем и изменим значение директивы

extension_dir = "C:\php\ext"

Предлагаю разобраться, что нам дало выполнение данного действия и что такое динамически загружаемые расширения.

Если Вы откройте директорию «C:\php\ext», то увидите множество файлов с расширением .dll. Каждый из этих файлов и есть то самое динамически загружаемое расширение. Подключение данных расширений позволяют увеличивать функциональные возможности PHP.

Итак, путь до динамически загружаемых расширений мы указали, теперь давайте подключим наиболее важные и необходимые из них. Для это построчно раскомментируем необходимые расширения, удалив в начале каждой строки знак комментирования «;» (точка с запятой).

найдем блок Dynamic Extensions (Динамические Расширения)

;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; . extension=php_bz2.dll extension=php_curl.dll extension=php_gd2.dll extension=php_imap.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo_mysql.dll .

раскомментируем необходимые расширения

По итогам изучения данного материала мы расширили функциональные возможности веб-сервера Apache подключив к нему модуль языка программирования PHP.

  • Установка Apache 2.4
  • Подключение MySQL к PHP

Настройка Apache HTTP с MPM Event и PHP-FPM в Ubuntu 18.04

Настройка Apache HTTP с MPM Event и PHP-FPM в Ubuntu 18.04

Веб-сервер Apache HTTP эволюционировал все это время и теперь позволяет работать в разных средах и решать разные задачи. Важной проблемой, которую должен решать Apache HTTP, как и любой веб-сервер, является управление различными процессами для обслуживания запросов протокола http. Это подразумевает открытие сокета, обработку запроса, поддержание открытого подключения на определенный период, обработку новых событий, возникающих во время этого подключения, а также возврат контента, произведенного программой на определенном языке (например PHP, Perl или Python). Эти задачи выполняются и контролируются мультипроцессными модулями (MPM).

Apache HTTP поставляется с тремя различными MPM:

  • Pre-fork​​​: новый процесс создается для каждого входящего подключения к серверу. Каждый процесс изолирован от других процессов, то есть у них нет общей памяти, даже если они выполняют идентичные вызовы в определенный момент выполнения. Это безопасный способ запуска приложений, связанных с библиотеками, которые не поддерживают поточную обработку, обычно более старыми приложениями или библиотеками.
  • Worker: родительский процесс отвечает за запуск дочерних процессов, некоторые из которых ожидают новые входящие подключения, а другие обслуживают запрашиваемый контент. Каждый процесс является поточным (один поток может обрабатывать одно подключение), поэтому один процесс может обрабатывать несколько запросов параллельно. Этот метод обработки запросов обеспечивает более рациональное использование ресурсов и в то же время поддерживает стабильность. Это происходит из-за наличия пула имеющихся процессов, у которых зачастую есть свободные потоки, готовые сразу же обслуживать новые подключения.
  • Event​​​: этот MPM, основанный на worker, идет на шаг вперед, обеспечивая оптимизацию того, как родительский процесс распределяет задачи для дочерних процессов, а также связанные с ними потоки. Подключение остается открытым по умолчанию в течение 5 секунд и закрывается при отсутствии новых событий. Это управляющее значение по умолчанию с постоянным соединением, которое сохраняет потоки, связанные с ним. MPM Event позволяет процессу управлять потоками таким образом, что некоторые потоки могут свободно обрабатывать новые входящие подключения, в то время как другие остаются привязаны к активным подключениям. Возможность повторного распределения назначенных задач для потоков обеспечивает более рациональное использование ресурсов и повышает производительность.

Модуль MPM Event​​​ — это быстрый мультипроцессный модуль, доступный на веб-сервере Apache HTTP.

PHP-FPM — диспетчер процессов FastCGI для PHP. Протокол FastCGI основан на интерфейсе стандарта CGI (интерфейс общего шлюза), протоколе, который находится между приложениями и веб-серверами, например Apache HTTP. Это позволяет разработчикам писать приложения независимо от поведения веб-серверов. Программы запускают свои процессы независимо и передают свой продукт на веб-сервер посредством этого протокола. Каждое новое подключение, которое нуждается в обработке приложением, создаст новый процесс.

При сочетании MPM Event в Apache HTTP с диспетчером процессов PHP FastCGI (PHP-FPM) веб-сайт может выполнять загрузку быстрее и обрабатывать больше одновременных подключений и при этом использовать меньше ресурсов.

В этом обучающем модуле мы повысим производительность стека LAMP путем изменения мультипроцессного модуля с pre-fork на event и использования диспетчера процессов PHP-FPM для обработки кода PHP вместо классического mod_php в Apache HTTP.

Предварительные требования

Для прохождения этого обучающего руководства вам потребуется следующее:

  • Один сервер Ubuntu 18.04, настроенный в соответствии с руководством по начальной настройке сервера Ubuntu 18.04, включая пользователя non-root user с привилегиями sudo и брандмауэр.
  • Стек LAMP, установленный на вашем сервере в соответствии с указаниями руководства Установка Linux, Apache, MySQL, PHP (стека LAMP) на Ubuntu 18.04.

Шаг 1 — Изменение мультипроцессного модуля

Ubuntu наследует скрипты для включения или отключения модулей Apache HTTP из его родительского дистрибутива Debian. Вы будете использовать этот набор инструментов на этом этапе для отключения модуля Pre-fork и включения модуля Event.

В этом шаге вы остановите Apache HTTP, отключите модуль PHP 7.2 , привязанный к модулю Pre-fork, и затем отключите Pre-fork, чтобы сразу же включить модуль Event.

Вначале вы остановите службу Apache HTTP:

Теперь вы можете отключить модуль PHP 7.2 , который связан с модулем Pre-fork:

Затем отключите модуль MPM Pre-fork:

Теперь активируйте модуль MPM Event:

Вы изменили MPM с pre-fork на event и удалили соединение модуля PHP 7.2 между PHP и Apache HTTP. В следующем шаге вы установите модуль php-fpm , а также связанные библиотеки и прокси-модули. Вы настроите Apache HTTP, чтобы он мог взаимодействовать также с PHP.

Шаг 2 — Настройка Apache HTTP для использования диспетчера процессов FastCGI

На этом этапе вы изменили способ подключений процессов Apache HTTP, переключив MPM Pre-fork на Event. Однако вы также отключили модуль PHP, который соединял Apache HTTP со всеми программами, выполняемыми на PHP.

На этом этапе вы установите процессор PHP-FPM, чтобы Apache HTTP опять смог обрабатывать программы PHP. Также вы установите библиотеки зависимостей и активируйте модули, чтобы они могли работать более слаженно и быстро, чем ранее.

Вначале установите php-fpm . Следующая команда установит пакет PHP-FPM, и он автоматически активирует службу php7.2-fpm , интегрированную с systemd, чтобы служба запускалась во время загрузки:

Для обмена данными для Apache HTTP и PHP потребуется библиотека, обеспечивающая эту возможность. Теперь вы установите libapache2-mod-fcgid , который может служить интерфейсом между программами с веб-серверами и является характерным для Apache HTTP. Этот обмен данными будет происходить через сокет UNIX.

Установите эту библиотеку:

Вы установили php-fpm и libapache2-mod-fcgid , но они еще не активированы.

Вначале активируйте модуль php-fpm с помощью следующей команды:

Затем активируйте модуль proxy Apache HTTP:

Теперь активируйте модуль proxy FastCGI в Apache HTTP:

Примечание. Вы можете прочитать конфигурацию этого взаимодействия между программами PHP и Apache HTTP через сокет UNIX с помощью следующего:

Теперь все готово, и можно запускать Apache HTTP. Сначала выполните проверку конфигурации:

Output
Syntax OK

После этого можно перейти к повторному запуску Apache HTTP, поскольку он был автоматически запущен при установке библиотеки FastCGI libapache2-mod-fcgid ​​​:

Вы установили модуль php-fpm , настроили Apache HTTP для работы с ним, активировали необходимые модули для работы протокола FastCGI, а также запустили соответствующие службы.

Теперь Apache имеет активированный модуль MPM Event, присутствует и работает PHP-FPM, и сейчас самое время проверить, что все работает должным образом.

Шаг 3 — Проверка конфигурации

Чтобы проверить, что изменения конфигурации вступили в силу, вы выполните несколько тестов. Первый проверит, какой мультипроцессный модуль использует Apache HTTP. Второй проверит, что PHP использует менеджер FPM.

Проверьте сервер Apache HTTP, выполнив следующую команду:

Вывод будет выглядеть следующим образом:

Output
mpm_event_module (shared)

Вы можете повторить то же самое для модуля proxy и FastCGI:

Результат будет выглядеть так:

Output
proxy_module (shared) proxy_fcgi_module (shared)

Если вы хотите увидеть весь список модулей, можно удалить вторую часть команды после -M .

Теперь пришло время проверить, использует ли PHP диспетчер процессов FastCGI. Для этого вы напишете небольшой скрипт PHP, который покажет вам всю информацию, связанную с PHP.

Запустите следующую команду, чтобы написать файл с именем:

Добавьте в файл info.php следующие строки:

Теперь откройте URL-адрес вашего сервера и добавьте info.php в конец следующим образом: http:// your_domain /info.php .

Запись API сервера будет FPM/FastCGI​​​.

Экран PHP, запись API сервера FPM/FastCGI​​

Удалите файл info.php после этой проверки, чтобы в общем доступе не отображалась никакая информация о сервере:

Вы проверили рабочий статус модуля MPM, модули, обрабатывающие FastCGI, а также обработку кода PHP.

Заключение

Вы оптимизировали стек LAMP, поэтому количество подключений для создания новых процессов Apache HTTP увеличилось, PHP-FPM обрабатывает код PHP более эффективно, и в общем ресурсы стали использоваться рациональнее.

Дополнительную информацию о разных модулях и связанных проектах можно найти в документации по проекту сервера Apache HTTP.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Как включить php в apache

Этот раздел описывает установку PHP c Apache 2.x на Unix системах.

Внимание

Мы не рекомендуем использовать потоковый MPM в промышленной среде вместе с Apache 2. Вместо этого, используйте prefork MPM, используемый по умолчанию в Apache 2.0 и 2.2. Подробную информацию по этому вопросу вы можете найти в соответствующем разделе FAQ Apache2 и потоковый MPM

Самым авторитетным источником информации по Apache 2.x является » документация Apache. Более подробная информация о настройках при установке может быть найдена там.

Самая последняя версия Apache Http Server может быть получена на » странице загрузки Apache, а адрес соответствующей версии PHP был указан выше. Это краткое руководство описывает лишь базовую установку Apache 2.x и PHP. Для получения более детальной информации прочитайте » документацию Apache. В инструкции ниже опущены номера версий — замените ‘NN’ на номер, соответствующий скачанной вами версии Apache.

На данный момент есть две версии Apache 2.x — 2.4 и 2.2. Хотя для выбора каждой из них существуют отдельные доводы, 2.4 является наиболее свежей и рекомендуемой версией, если вас устраивает такой выбор. Тем не менее, данные инструкции будут работать как для 2.4, так и для 2.2. Обратите внимание, что Apache httpd 2.2 официально больше не поддерживается, поэтому дальнейшая разработка не будет продолжаться, также как и приниматься новые патчи.

    Скачайте Apache HTTP server как было указано выше и распакуйте его:

tar -xzf httpd-2.x.NN.tar.gz
tar -xzf php-NN.tar.gz
cd httpd-2_x_NN ./configure --enable-so make make install
/usr/local/apache2/bin/apachectl start

Затем остановите сервер, чтобы сконфигурировать и установить PHP:

/usr/local/apache2/bin/apachectl stop
cd ../php-NN ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pdo-mysql make make install
cp php.ini-development /usr/local/lib/php.ini
LoadModule php_module modules/libphp.so
LoadModule php7_module modules/libphp7.so
 SetHandler application/x-httpd-php 

Или, если мы хотим добавить расширения .php, .php2, .php3, .php4, .php5, .php6 и .phtml, это можно записать так:

 SetHandler application/x-httpd-php 

Чтобы PHP отображал содержимое файлов .phps с подсветкой синтаксиса, нужно внести соответствующую директиву

 SetHandler application/x-httpd-php-source 

Можно использовать mod_rewrite для отображения любого .php файла с подсветкой синтаксиса, без нужды его переименования в .phps:

RewriteEngine On RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]
/usr/local/apache2/bin/apachectl start
service httpd restart

Если вы следовали инструкциям выше, то на данном этапе должны иметь запущенный веб-сервер Apache2 с поддержкой PHP, как модуля SAPI . Конечно, для PHP и Apache доступно гораздо больше параметров конфигурации. Используйте ./configure —help в соответствующей папке с исходными кодами для получения полного списка параметров конфигурации.

Если вы хотите собрать многопоточную версию Apache, то при сборке вам следует указать модуль MPM worker вместо стандартного модуля MPM prefork . Чтобы сделать это, нужно добавить следующий аргумент к ./configure на шаге 3:

--with-mpm=worker

Не следует бездумно использовать эту настройку, используйте её только если вы понимаете все последствия этого решения. Документация Apache по » модулям MPM значительно глубже раскрывает эту тему.

Замечание:

Если вы хотите использовать зависимый контент (content negotiation), прочитайте Apache MultiViews FAQ.

Замечание:

Для сборки многопоточной версии Apache, ваша система должна поддерживать потоки. Это так же подразумевает сборку PHP c поддержкой Zend Thread Safety (ZTS). И, как следствие, не все модули PHP смогут работать. Рекомендуется установка Apache с модулем MPM по умолчанию — prefork .

User Contributed Notes 17 notes

11 months ago

I had just installed php8.1.12 on a machine used for writing C code.

Below are some libraries that I needed to download on a debian-based OS.

apt-get install libpcre3 libpcre3-dev
apt-get install apache2-dev
apt-get install libxml2-dev
apt-get install libsqlite3-dev

These were the missing packages that I required.
If you get an error regarding a missing package or library, for example when I needed sqlite3, run the command:

apt search sqlite3

And you’ll be able to see if there’s any dev or lib packages.

The apache2 instructions worked flawlessly at the time of php8.1.12; and in order to get certain requirements for an application, I had to run the php configure file like so:

./configure —with-apxs2=/usr/local/apache2/bin/apxs —with-pdo-mysql —with-mysqli —with-zip —enable-gd

The extra flags allowed me to use both types of mysql, allowed me to utilize PHP zip archiving, and allowed me to use Gnatt stuff.

14 years ago

When I upgrade to apache 2.2, this:

AddType application/x-httpd-php .php5
AddType application/x-httpd-php .php42
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtm
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php .asp

. does not worked for me, so I did this:

Another interesting point with Apache 2.2 is following.
Let suppose we installed PHP as module. But for some directory, we need to use PHP as CGI (probably because of custom configuration). This can be done using:

AddType application/x-httpd-php-custom .php
Action application/x-httpd-php-custom /cgi-bin/php-huge

Note type must be different than «application/x-httpd-php» and also you need to deactivate the handler on sertain extention. You can do mixed configuration:

AddType application/x-httpd-php-custom .php
Action application/x-httpd-php-custom /cgi-bin/php-huge

in such case files like *.php5 and so on will be parsed via module, but *.php will go to php-huge executable.

4 years ago
解析PHP,需要Apache 2.4.9 以后

SetHandler «proxy:fcgi://127.0.0.1:9000»

18 years ago

during the make process should u receive an error declaring ext/ctype/ctype.lo (or another file) is truncated then you need to ‘make clean’ prior to a healthy ‘make’ and ‘make install.’

looking into your ext/ directory you may find the offensive file to be 1 byte long.

17 years ago

I’ve (painfully) discovered that installing PHP5 with «make install» under SuSe 9.2 is NOT a good idea.
http://www.aditus.nu/jpgraph/apache2suse.php
This page explains how to install it without breaking everything that’s php-related in the Apache2 configuration. Its first purpose, though, is to show how to have php 4 and 5 to cohabit properly.

6 years ago

Building php 7.1.3 with mysql 5.7.17 and httpd 2.4.25 on Debian 8, step 5 failed for me. Instead of

12 years ago

On 64-bit Fedora systems (I’m using Fedora 14), configuring PHP to use the MySQL libraries installed as part of the distribution gives the following error if you follow the default instructions in this manual.

Cannot find libmysqlclient under /usr

Modifying he following invocation of configure as follows:

./configure —with-apxs2=/path/to/apxs —with-libdir=lib64 —with-mysql

Note the addition of —with-libdir=lib64
This points the configure script to look for 64-bit mysqlclient libraries.

14 years ago

I have successfully installed Apache 2.2.11 and PHP 5.2.8 under Red Hat 9.0 on a Pentium 166 with 32 MB of RAM.

While I used RH9, the worst possible case, these notes are probably good for RH-based distributions too (Red Hat Enterprise, Fedora, CentOS. )

If you want to install MySQL, it needs to be installed before PHP because PHP requires some libraries be available.

One think important when picking up a binary distribution of MySQL is to download all four packages: MySQL-server, MySQL-devel, MySQL-client and MySQL-shared. Note: The MySQL was bundled with PHP 4 but is not anymore in PHP 5.

Then you need to install Apache before PHP, because again PHP needs some libraries be available. I installed Apache 2 from source, using the very last version available, which is 2.2.11.

I installed PHP 5.2.8 from source. Here, I had a number of problems, but none which I could not resolve easily, some of them with a little help from different forums I found through Google.

Rembember: When it says you need a package named xyz and you notice there is also one named xyz-devel, grab it.

Most of the packages I got from:
http://legacy.redhat.com/pub/redhat/linux/9/en/os/i386/RedHat/RPMS/
A similar page exists for other versions of Red Hat
and:
http://rpmfind.net/
This site has an updated version of some of the packages. Make sure to use only the one labeled for you version (in my case, Red Hat 9.0) or it will not likely work.

You already have glibc and glibc-common installed, but you need to get glibc-devel and glibc-kernheaders. Make sure to match glibc’s version (rpm -q glibc). Note: When it says kernel-header is a required dependency, that’s glibc-kernheader (not kernel-source). You will also need binutils (no need to match the version), and gcc and cpp (version must match).

You need zlib-devel (zlib is probably already installed, match the version you have).

If you install the GD extension, the actual library is already bundled with PHP 5 (use that one, they have done some changes in there, so don’t upgrade), but you will need to install libpng and libpng-devel (match version, or disable in configure if you don’t want) and libjpeg (no -devel with that one).

You will also need libxml2. Now there were a problem, because PHP requires libxml2 be 2.6 or greater, but Red Hat only supplied 2.5.4-1 for RH9 (if you have a more recent distro, you might be more lucky). After looking for a while, I decided to grab the source code for the most recent distribution at the official website (http://xmlsoft.org/) and compiled.

Hope my post is useful to someone. Please, share your experience when compiling/installing for your particular platform and setup. Remember how hard it’s been for you the very first time. I confess, my very first server installation took me nearly a week and I was glad others helped me.

18 years ago

Hi too had same problem with multiview like when i execute http://huey/admin/test.php it used to compile but when i use http://huey/admin/test it wouldnt recognise it as php file. i worked it out with the addhandler method and AddType in different line and setting multiview for directive

«multiviews Options Indexes FollowSymLinks MultiViews»

the directives u can set it to root directory so now when u type pn test it will search in precendence for test.php, test.html if any .

its working for me with apache2.0.47 and php 4.3.9 on solaris

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *