Как перейти на LSPHP

Если ваш сайт сейчас работает с помощью suPHP, у вас есть возможность перейти на LSPHP. Преимущества LSPHP заключаются в том, что сайт начнет работать быстрее, так как скорость обработки PHP-скриптов увеличится; исчезнет ошибка 500 из-за php_flag и других директив в файле .htaccess; в целом уменьшится потребление ресурсов в вашем виртуальном контейнере. Как работает LSPHP, вы можете более подробно узнать в нашем блоге. Использование LSPHP является наиболее удачным решением, поэтому мы советуем нашим клиентам на него перейти и рассказываем, как это сделать.

Переключение suPHP на LSPHP

Переключение на использование LSPHP для сайта происходит следующим образом:

Шаг 1. Создаем файл phpinfo.php в корневой директории сайта. Открываем его в текстовом редакторе и добавляем следующий код:

<?php
phpinfo();
?>

После этого сохраняем внесенные изменения.

Переходим по ссылке http://<имя сайта>/phpinfo.php в браузере, запоминаем версию PHP и что указано в поле “Server API” переменной окружения.

Если в переменной окружения Server API указано значение вида “CGI/FastCGI”, то это может говорить лишь о том, что режим работы PHP на текущий момент для данного сайта является suPHP.

Шаг 2. Добавляем следующие строки в начало файла .htaccess, расположенного в корневой директории для выбранного сайта:

<FilesMatch "\.php$">
SetHandler application/x-httpd-lsphp
</FilesMatch>

Если .htaccess файл не был вами обнаружен в корневой директории сайта, то его нужно создать.

Добавление вышеуказанных строк и производит переключение на режим работы LSPHP.

Шаг 3. Снова открываем ссылку http://<имя сайта>/phpinfo.php в браузере.

Если значение переменной окружения Server API имеет значение “LiteSpeed V...”, то переключение режима работы PHP прошло успешно.

Шаг 4. Если вами ранее использовался php.ini файл для изменения значений директив PHP, необходимых для работы данного сайта, то следующим шагом для вас будет перенос настроек этих директив PHP в .htaccess файл.

При этом не стоит забывать, что в .htaccess директивы PHP могут задаваться с использованием php_value и php_flag команд, где:

php_value - устанавливает значение обозначенной директивы;
php_flag - используется для установки директивам логических значений.

Например: если нужно перенести с php.ini файла директиву вида:

display_errors = Off

то в .htaccess файле её нужно указать следующим образом:

php_flag display_errors Off

Если нужно перенести с php.ini файла директиву вида:

memory_limit = 128M

то в .htaccess файле её нужно указать следующим образом:

php_value memory_limit 128M

Шаг 5. По окончанию переноса директив PHP с php.ini в .htaccess рекомендуем проверить работу сайта. Если всё работает корректно, то вы можете смело удалять ранее созданный phpinfo.php файл.

Дополнительная информация по переходу на LSPHP

Если у вас расположено несколько сайтов в учетной записи cPanel и вы хотите сменить режим работы PHP с текущего на LSPHP, то потребуется выполнение 5-и ранее описанных шагов для каждого сайта.

Также у вас есть возможность использовать разные версии PHP в режиме LSPHP для разных сайтов вашей учетной записи cPanel.

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

Например, чтобы использовать PHP7 для определенного сайта, в .htaccess файле, расположенном в корневой директории данного сайта, достаточно добавить следующие строки:

<FilesMatch "\.php$">
SetHandler application/x-lsphp70
</FilesMatch>

Переключение на LSPHP в зависимости от версии PHP

Ниже отражены версии PHP, которые доступны на наших серверах и метод переключения на них:

PHP 4.4

<FilesMatch "\.php$">
SetHandler application/x-lsphp44
</FilesMatch>

PHP 5.1

<FilesMatch "\.php$">
SetHandler application/x-lsphp51
</FilesMatch>

PHP 5.2

<FilesMatch "\.php$">
SetHandler application/x-lsphp52
</FilesMatch>

PHP 5.3

<FilesMatch "\.php$">
SetHandler application/x-lsphp53
</FilesMatch>

PHP 5.4

<FilesMatch "\.php$">
SetHandler application/x-lsphp54
</FilesMatch>

PHP 5.6

<FilesMatch "\.php$">
SetHandler application/x-lsphp56
</FilesMatch>

PHP 7.0

<FilesMatch "\.php$">
SetHandler application/x-lsphp70
</FilesMatch>

Использование разных PHP-интерпретаторов одновременно

Если вы используете или хотите использовать разные PHP-интерпретаторы для файлов с разными расширениями (окончания названий файлов), то добиться этого можно, добавив в файл .htaccess несколько директив. Например, вот так:

<FilesMatch "\.(php4|php5|php3|php2|php|phtml)$">
    SetHandler application/x-httpd-lsphp
</FilesMatch>
<FilesMatch "\.php53$">
    SetHandler application/x-lsphp53
</FilesMatch>

В этом случае для файлов с расширениями php4, php5, php3, php2, php и phtml будет использоваться LSPHP-версия, определенная на сервере по умолчанию. А файлы с расширением .php53 будут обрабатываться версией PHP 5.3

Если у вас возникнут сложности в процессе смены режима работы PHP на каком-либо из шагов, пожалуйста, обратитесь в нашу службу поддержки за консультацией, написав письмо на адрес [email protected] - мы с радостью вам поможем!