@big_hasan

CentOS: как подружить PHP и Apache и что это за пакет php-apache?

Vagrant, CentOS 6, PHP7
При запросе выдавал php-файл текстом.
short_open_tag изменил на On в php.ini - не помогло.
Изменил в httpd.conf
<FilesMatch "^\.ht">
    Require all denied
</FilesMatch>

на
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

- безрезультатно.
Где-то нагуглил, что нужно прописать LoadModule php7_module modules/libphp7.so. Так и сделал. При попытке рестарта апач ругается на эту самую строку - говорит, что не может найти файл /etc/httpd/modules/libphp7.so. Дальнейший гуглинг дал такую информацию, что от этого в некоторых случаях помогает установка некого пакета "php-apache". Сложилось впечатление, что это какой-то мифический пакет, потому что информацию о нем не смог нагуглить, yum install на него не получилось натравить, а в репозиториях ничего похожего не нашел. В репах поискал mod_php, из найденного попытался установить mod_php70u.x86_64 - не помогло. Чё делать-та??
PS: в консоле пых нормально выполняет всякую фигню вида echo ('Hello world'); - к нему претензий нет

UPD:
Снёс Апач, поставил заново, долго танцевал с бубном, снова появилась эта проблема. Проделал снова то, что описывал в вопросе - прописал SetHandler application/x-httpd-php, и заработало. Я так и не понял, в чем было дело.
  • Вопрос задан
  • 5724 просмотра
Пригласить эксперта
Ответы на вопрос 2
посмотрите тут для центоса 7 но все же. и вообще советую на центос 7 переходить
Ответ написан
@ilya-zharskiy
На CentOS6 можно установить php70-php-7.0.33-23.el6.remi.x86_64.rpm

https://centos.pkgs.org/6/remi-x86_64/php70-php-7....
если репы ещё живы.

Этот RPM-пакет содержит mod_php - модуль веб-сервера (httpd) Apache, загрузив который Эпачи сможет сам обрабатывать php-скрипты

This package contains the module (often referred to as mod_php)
which adds support for the PHP language to system Apache HTTP Server.


Предоставляемый функционал называется
php70-mod_php

После установки пакета по адресу (пути)
/opt/remi/php70/root/usr/lib64/httpd/modules/libphp7.so
будет находиться библиотека (модуль) php для apache

а по пути
/usr/lib64/httpd/modules/libphp70.so - ссылка на него

P.S.
но лучше:
1) перейти на CentOS7
2) не использовать Apache вообще, а поставить nginx
3) использовать php-fpm вместо mod_php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы