vps:administration:php-enable

4.4.17. Включение обработчика PHP для веб-сервера

В некоторых случаях после установки веб-сервера обработчик PHP может быть не подключен. Способ подключения зависит от установленного веб-сервера.

Чтобы включить обработчик PHP в Apache, выполните следующее:

  1. Подключитесь к серверу по SSH.
  2. Перейдите в каталог веб-сервера, выполнив команду:
    cd /etc/httpd/

  3. Проверьте наличие модуля PHP, выполнив команду:

    ls /etc/httpd/modules/ | grep php

    Вывод должен быть примерно такой:

    libphp*-zts.so
    libphp*.so

  4. Проверьте конфигурационные файлы Apache, выполнив команду:

    grep -n 'php' /etc/httpd/conf/*

    1. Если предыдущая команда ничего не вывела, проверьте наличие дополнительных конфигурационных файлов, выполнив команду:

      grep 'Include conf.d\/\*.conf' /etc/httpd/conf/*

      1. Если команда также ничего не вывела, отредактируйте файл конфигурации Apache, дополнив его параметром загрузки дополнительных конфигурационных файлов, выполнив команду:

        echo "Include conf.d/*.conf" >> /etc/httpd/conf/httpd.conf

      2. Если вывод команды был вида /etc/httpd/conf/httpd.conf:Include conf.d/*.conf, то дополнительные конфигурационные файлы подключены.
      3. Проверьте наличие файла конфигурации PHP, выполнив команду:

        ls /etc/httpd/conf*/* | grep php

        1. Если предыдущая команда ничего не вывела, создайте конфигурационный файл, выполнив команду (вместо X укажите номер нужной версии PHP):

          cat > /etc/httpd/conf.d/php.conf <<EOF
          <IfModule prefork.c>
            LoadModule phpX_module modules/libphpX.so
          </IfModule>
           
          <IfModule !prefork.c>
            LoadModule phpX_module modules/libphpX-zts.so
          </IfModule>
           
          AddHandler phpX-script .php
          AddType text/html .php
           
          DirectoryIndex index.php
           
          php_value session.save_handler "files"
          php_value session.save_path    "/var/lib/php/session"
          php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"
          EOF

    2. Если команда, выполненная на шаге 4 или 4.a.III вывела результат (как правило, он будет схож с текстом, указанным на шаге 4.a.III.A), то сравните версии PHP, указанные в конфигурационном файле, с результатом команды, выполненной на шаге 3. Если они разные, замените версию в соответствующем конфигурационном файле, открыв его для редактирования командой:

      nano /etc/httpd/conf*/*.conf

      Укажите нужную версию вместо символа X в таких строках:

      LoadModule phpX_module modules/libphpX.so
      LoadModule phpX_module modules/libphpX-zts.so
      AddHandler phpX-script .php

      В зависимости от предыдущего шага изменяйте определённый конфигурационный файл:

      • Если предыдущим шагом был 4, то нужно редактировать файл /etc/httpd/conf/httpd.conf.
      • Если предыдущим шагом был 4.a.III, то нужно редактировать файл /etc/httpd/conf.d/php.conf.
  5. Перезапустите Apache, выполнив команду:

    service httpd restart

    • Если перезапуск прошёл успешно, проверьте работу PHP на сайтах.
    • Если во время перезапуска возникли ошибки, проверьте конфигурационные файлы на наличие проблем с переносами строк или некорректных параметров.

  • vps/administration/php-enable.txt
  • Последние изменения: 2019/10/03 15:48
  • — karlov