Open anutator opened 5 years ago
Как всегда сама починила. Долго искала причину, но слава гуглу.
Открыть файл vim /etc/httpd/conf.modules.d/00-mpm.conf
Там у нас загружается модуль mpm_event.
LoadModule mpm_event_module modules/mod_mpm_event.so
Эту строку закомментируем и раскомментируем строку с mpm_prefork
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
Дело в том, что модуль библиотеки для php7 (libphp7.so) будет грузиться только если загружен prefork, что можно проверить в файле /etc/httpd/conf.modules.d/15-php.conf
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
# Cannot load both php5 and php7 modules
<IfModule !mod_php5.c>
<IfModule prefork.c>
LoadModule php7_module modules/libphp7.so
</IfModule>
</IfModule>
<IfModule !mod_php5.c>
<IfModule !prefork.c>
# ZTS module is not supported, so FPM is preferred
# LoadModule php7_module modules/libphp7-zts.so
</IfModule>
</IfModule>
Есть другая ошибка теперь в логах (если логи не смотреть, то php выполняется, т.е. внешне все ок), т.е. переключение на prefork отключает совместимость с mod_http2
AH10034: The mpm module (prefork.c) is not supported by mod_http2. The mpm determines how things are processed in your server. HTTP/2 has more demands in this regard and the currently selected mpm will just not do. This is an advisory warning. Your server will continue to work, but the HTTP/2 protocol will be inactive.
Так что надо теперь переключаться на php-fpm https://www.stephenrlang.com/2018/02/centos-7-apache-2-4-with-php-fpm/
Советовал бы настроить nginx, Намного легче, чем Apache. Nginx с php-fpm у меня отлично работает (php 5.5.9). Но http2 пока еще нет в основной mainline ветке, скоро обещают. В http2 пока не вижу особой необходимости, мое мнение.
apache перевела на php-fpm, работает. Да мне неохота, чтобы ошибки постоянно появлялись в логе. Там вроде работе не мешало, но мне эти уведомления не нужны, лучше полезную инфу в ошибках видеть. Чтоб не мудрить с настройками по руководству из статьи, надо сразу ставить php-fpm и php-fpm-http (файл настроек для Apache, есть аналогичный для nginx). Это есть для разных версий php.
php56u-fpm-httpd.noarch : Apache HTTP Server configuration for PHP-FPM
php56u-fpm-nginx.noarch : Nginx configuration for PHP-FPM
php70u-fpm-httpd.noarch : Apache HTTP Server configuration for PHP-FPM
php70u-fpm-nginx.noarch : Nginx configuration for PHP-FPM
php71u-fpm-httpd.noarch : Apache HTTP Server configuration for PHP-FPM
php71u-fpm-nginx.noarch : Nginx configuration for PHP-FPM
php72u-fpm-httpd.noarch : Apache HTTP Server configuration for PHP-FPM
php72u-fpm-nginx.noarch : Nginx configuration for PHP-FPM
fpm2.x86_64 : Password manager with GTK2 GUI
php-fpm.x86_64 : PHP FastCGI Process Manager
php54-php-fpm.x86_64 : PHP FastCGI Process Manager
php55-php-fpm.x86_64 : PHP FastCGI Process Manager
php55w-fpm.x86_64 : PHP FastCGI Process Manager
php56u-fpm.x86_64 : PHP FastCGI Process Manager
php56w-fpm.x86_64 : PHP FastCGI Process Manager
php70u-fpm.x86_64 : PHP FastCGI Process Manager
php70w-fpm.x86_64 : PHP FastCGI Process Manager
php71u-fpm.x86_64 : PHP FastCGI Process Manager
php71w-fpm.x86_64 : PHP FastCGI Process Manager
php72u-fpm.x86_64 : PHP FastCGI Process Manager
php72w-fpm.x86_64 : PHP FastCGI Process Manager
rh-php70-php-fpm.x86_64 : PHP FastCGI Process Manager
rh-php71-php-fpm.x86_64 : PHP FastCGI Process Manager
Про nginx думаю. Может и правда лучше. Надо его пробовать.
Новая установка php для CentOS 8:
yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module install php:remi-7.4
CentOS7. Ранее php 7.2.12 работал со стандартной версией 2.4.6, но я решила поставить свежую версию Apache. Добавила репозиторий CodeIT, поставила свежую версию Apache.
Server version: Apache/2.4.37 (codeit)
При попытке открыть страницу показывает типа такого:quote($_REQUEST[$key]),1,-1); } $startmonth = is_blank($_REQUEST['startmonth']) ? date('m') : sprintf('%02d', $_REQUEST['startmonth']); $startyear = is_blank($_REQUEST['startyear']) ? date('Y') : $_REQUEST['startyear']; if (is_blank($_REQUEST['startday'])) { $startday = '01'; } elseif (isset($_REQUEST['startday']) && ($_REQUEST['startday'] > date('t', strtotime("$startyear-$startmonth-01")))) { $startday = $_REQUEST['startday'] = date('t', strtotime("$startyear-$startmonth")); } else { $startday = sprintf('%02d',$_REQUEST['startday']); } $starthour = is_blank($_REQUEST['starthour']) ? '00' : sprintf('%02d',$_REQUEST['starthour']); $startmin = is_blank($_REQUEST['startmin']) ? '00' : sprintf('%02d',$_REQUEST['startmin']); $startdate = "'$startyear-$startmonth-$startday $starthour:$startmin:00'"; $start_timestamp = mktime( $starthour, $startmin, 59, $startmonth, $startday, $startyear ); $endmonth = is_blank($_REQUEST['endmonth']) ?
Может надо php переустанавливать тоже?