Как сменить версию PHP на Dedicated
Используйте все ресурсы сервера, не касаясь решения технических вопросов.
Как переключить версию PHP?
Возможность смены версий PHP присутствует:
- под пользователем, под которым добавлен домен (не root);
- только в режиме работы PHP как FastCGI (выставляется в настройках сайта).
Для смены версии PHP:
Откройте панель управления ispmanager, перейдите в раздел Пользователи и два раза кликните на том пользователе, под которым размещён сайт (на котором необходимо сменить версию PHP). В параметрах пользователя откройте вкладку Доступ, убедитесь что активированы пункты CGI и PHP как FastCGI. Затем нажмите Ok:
Теперь войдите в панель управления под этим пользователем, для этого выделите пользователя и нажмите Войти в правом верхнем углу. Перейдите в раздел Сайты, два раза кликните по необходимому домену и в параметрах домена выставьте PHP как FastCGI. Затем нажмите Ok:
Перейдите в раздел Настройки — Конфигурация ПО. Выделите необходимую версию PHP и нажмите кнопку Вкл.:
Если пункт Альтернативная версия PHP отсутствует, значит на вашем сервере нет возможности переключения версий PHP. Возможность установки модуля переключений PHP на ваш сервер уточняйте в технической поддержке.
Работа с PHP-скриптами в командной строке
По умолчанию php скрипты запускаются под «системной» сборкой php (5.3), например:
-bash-4.1$ php www/mysite.ru/info.php phpinfo() PHP Version => 5.3.3 .
Соответственно, команда php -v покажет информацию о «системной» сборке php, а не той, что активирована в панели управления хостингом:
-bash-4.1$ php -v PHP 5.3.3 (cli) (built: Jul 9 2015 17:39:00) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator with the ionCube PHP Loader v4.2.2, Copyright (c) 2002-2012, by ionCube Ltd., and with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies
Сборки php, которые вам доступны в панели управления хостингом, расположены в /opt/php:
-bash-4.1$ ls /opt/php 5.1 5.4-with-xcache 7.1 7.4 5.2 5.5 7.1-bx-optimized 7.4-bx-optimized 5.3 5.5-bx-optimized 7.2 8.0 5.3-bx-optimized 5.6 7.2-bx-optimized 8.1 5.3-with-xcache 5.6-bx-optimized 7.2-umi 8.1-ioncube 5.4 7.0 7.3 5.4-bx-optimized2 7.0-bx-optimized 7.3-bx-optimized
Как запустить скрипт под определённой версией PHP
Обратите внимание: скрипты можно запускать и через php, и через php-cgi. Например:
- /opt/php/5.4-with-xcache/bin/php-cgi
- /opt/php/5.4-with-xcache/bin/php
О том, какой режим подойдет для работы скриптов, вы можете узнать у разработчиков вашего сайта.
Для запуска скрипта под версией php 5.5 необходимо выполнить команду:
/opt/php/5.5/bin/php www/mysite.ru/info.php
- /opt/php/5.5/bin/php — путь к обработчику;
- www/mysite.ru/info.php — путь к скрипту.
на примере phpinfo
-bash-4.1$ /opt/php/5.5/bin/php www/mysite.ru/info.php X-Powered-By: PHP/5.5.23 Content-type: text/html .
видно, что скрипт запустился под php 5.5.
Аналогичным образом можно запустить скрипт под любой другой доступной сборкой php:
- /opt/php/4.4.9/bin/php
- /opt/php/5.1/bin/php
- /opt/php/5.2/bin/php
- /opt/php/5.3/bin/php
- /opt/php/5.3-bx-optimized/bin/php
- /opt/php/5.3-with-xcache/bin/php
- /opt/php/5.4/bin/php
- /opt/php/5.4-bx-optimized/bin/php
- /opt/php/5.4-bx-optimized2/bin/php
- /opt/php/5.4-with-xcache/bin/php
- /opt/php/5.5/bin/php
- /opt/php/5.5-bx-optimized/bin/php
- /opt/php/5.6/bin/php
- /opt/php/5.6-bx-optimized/bin/php
- /opt/php/7.0/bin/php
- /opt/php/7.0-bx-optimized/bin/php
- /opt/php/7.1/bin/php
Узнать подробную информацию о сборке php можно при помощи команды:
/opt/php/. /bin/php -i # Узнать список доступных модулей: /opt/php/. /bin/php -m
Как изменить параметры PHP
Поддержка PHP присутствует на всех тарифных планах Hosting Linux, кроме Host-Lite. Если у вас Host-Lite, чтобы включить поддержку PHP, повысьте тарифный план.
Как изменить параметры PHP
Для каждой версии PHP можно установить свои параметры. Инструкция для изменения параметров PHP подходит, только если у вас есть услуга хостинга Linux. Вы можете попробовать бесплатный хостинг для сайтов HTML с поддержкой PHP и MySQL в течение 14 дней тестового периода.
Чтобы изменить настройки PHP, нужно установить на файл php.ini права 600 (rw——-) или 644 (rw-r—r—) и затем внести в него изменения.
Чтобы установить права и внести изменения, следуйте инструкции для вашей хостинг-панели:
Ispmanager
Выполнение этого шага зависит от пути, по которому хранятся настройки PHP. Подробнее в статье Где находятся настройки версий PHP в ispmanager.
- Если вы храните настройки PHP отдельно для каждого домена по пути /var/www/php-bin/имя-домена/php.ini, перейдите в раздел Менеджер файлов и откройте каталог /var/www/php-bin/имя-домена/. Выберите файл php.ini, наведите курсор на Редактировать и нажмите Атрибуты: Измените права файла на 600 или 644 и кликните Ok:
- Если вы используете общую версию PHP и храните настройки для всех доменов по пути /var/www/php-bin-php(номер-версии-PHP)/php.ini, перейдите в раздел Менеджер файлов и откройте каталог /var/www/php-bin-php(номер-версии-PHP)/. Выберите файл php.ini, наведите курсор на Редактировать и нажмите Атрибуты: Измените права файла на 600 или 644 и кликните Ok:
Откройте файл php.ini и внесите необходимые изменения. Примеры изменений приведены в раскрывающихся блоках ниже.
Сохраните изменения и закройте файл.
Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.
В разделе «Файлы» нажмите Менеджер файлов. Перейдите в каталог php-bin/имя-домена. Измените права файла php.ini на 0600 или 0644. Нажмите Save:
Откройте файл php.ini и внесите необходимые изменения. Примеры изменений приведены в раскрывающихся блоках ниже.
Сохраните изменения и закройте файл.
Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».
В разделе «Файлы» перейдите в каталог etc/имя-домена. Измените права файла php.ini: в строке «Владелец» поставьте чекбоксы Чтение и Запись, в строках «Группа» и «Остальные» поставьте чекбокс Чтение. Нажмите Применить:
Откройте файл php.ini и внесите необходимые изменения. Примеры изменений приведены в раскрывающихся блоках ниже.
Сохраните изменения и закройте файл.
Готово, изменения вступят в силу в течение минуты.
Примеры изменений настроек PHP
Основные директивы для настройки файла php.ini описаны в статье Настройка файла php.ini.
Как увеличить memory_limit (лимит памяти)
Чтобы предотвратить ситуацию, когда скрипт с плохим синтаксисом занимает всю доступную память сервера, нужно настроить директиву memory_limit. Она задаёт максимально допустимый объём памяти в байтах, который разрешается использовать скрипту. Некоторые CMS и плагины требуют установки определённого значения memory_limit.
memory_limit= 512M
Обратите внимание: на виртуальном хостинге есть технические ограничения на максимальный размер оперативной памяти на один процесс. Ограничения для каждого тарифа приведены на странице Технические характеристики хостинга.
Если данного порога вам не хватает, вы можете:
- повысить тариф хостинга с увеличением памяти: Как повысить тарифный план хостинга,
- перейти на VPS-хостинг и самостоятельно сконфигурировать сервер с необходимыми настройками: Как перейти с виртуального хостинга на VPS-хостинг.
Как увеличить max_execution_time
Чтобы предотвратить торможение сервера из-за скриптов с плохим синтаксисом, нужно настроить директиву max_execution_time. Она задаёт максимальное время в секундах, в течение которого скрипт должен полностью загрузиться. Если скрипт не загружается, анализатор синтаксиса завершает работу скрипта.
max_execution_time = 60
Как увеличить upload_max_filesize (максимальный размер закачиваемого файла)
С помощью директивы upload_max_filesize вы можете увеличить максимальный размер закачиваемого файла. На виртуальном хостинге можно загружать файлы размером до 256 МБ.
upload_max_filesize = 256M
Если вам требуется загрузить файл размером более 256 МБ:
- загрузите файл через протокол FTP или через панель управления хостингом,
- перейдите на VPS-хостинг и самостоятельно сконфигурируйте сервер с необходимым значением загружаемого файла: Как перейти с виртуального хостинга на VPS-хостинг.
Как изменить max_input_vars
Директива max_input_vars задаёт количество входных переменных, которое может быть принято в одном запросе. Использование этой директивы снижает вероятность сбоев в случае атак.
max_input_vars = 5000
Как удалить настройку mbstring.func_overload
При обновлении Bitrix можно столкнуться с проблемой: «Для обновления продукта необходимо удалить настройку PHP mbstring.func_overload. Пожалуйста, внесите необходимые изменения или обратитесь в службу технической поддержки вашего хостинга».
Решить эту проблему можно удалением параметра mbstring.func_overload. Как это сделать читайте в статье Как удалить настройку PHP mbstring.func_overload.
Как исправить ошибку PHP mbstring.internal_encoding
В версиях Bitrix версии 20.100.0 и ниже может возникнуть ошибка, которая связана с неправильными настройками параметров mbstring.func_overload и mbstring.internal_encoding.
Как решить эту проблему читайте в статье Ошибка PHP mbstring.internal_encoding.
Как включить обработку PHP в HTML
На хостинге Linux
В некоторых случаях вид строк может отличаться от указанных в примере. Чтобы корректно добавить строки, мы рекомендуем обратиться в техническую поддержку.
Как сменить версию PHP на VPS
Чтобы для домена появилась возможность выбора версии PHP, необходимо включить настройку PHP в режиме FastCGI (Apache). Откройте панель управления ispmanager и перейдите в раздел Пользователи, кликните по имени пользователя, на котором находится домен, и нажмите Изменить:
В блоке «Доступ» установите галочку Может использовать PHP в режиме FastCGI (Apache) и нажмите OK:
Для выбора версии PHP, перейдите в раздел Сайты или WWW-домены, кликните по имени необходимого домена и нажмите Изменить:
В блоке «PHP» в строке «Режим работы PHP» выберите FastCGI (Apache). В этом же разделе ispmanager выберите или измените версию PHP. Нажмите OK:
Как активировать альтернативные версии PHP
Войдите в панель управления под пользователем «root» и перейдите в раздел Настройки — Конфигурация ПО. Убедитесь, что активирована возможность Альтернативные версии PHP. Если вы видите синюю лампочку, кликните по данной строке и нажмите Установить:
Готово, вы сменили версию PHP.
Установка ionCube на VPS-сервер
Перед установкой проверьте, возможно, ionCube уже установлен. Для этого соединитесь с сервером по SSH и выполните команду: php -m | grep ionCube .
Если в выводе команды ionCube отсутствует, можно переходить к установке.
Перед установкой выясните, какая ОС установлена на вашем сервере и какова её разрядность:
- команда для определения ОС: cat /etc/issue
- команда для определения разрядности: uname -m
Все приведенные команды необходимо выполнять по SSH.
Установка ionCube на Debian/Ubuntu
- для 32-х разрядных ОС:
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
- для 64-х разрядных ОС (x86_64):
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Распакуйте загруженный архив:
tar xzvf ioncube*
Переместите данные в /usr/local:
mv ioncube /usr/local/
Пропишите путь к модулю ioncube в конфигурационном файле PHP. В зависимости от версии PHP на вашем сервере прописываются разные пути к модулю ioncube. Для начала выясните, какая версия php установлена на вашем VPS при помощи команды php -v , например:
[root@151-248-126-120 ~]# php -v PHP 5.3.3 (cli) (built: May 10 2016 21:39:50) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
В выводе команды видно, что установлена версия PHP 5.3.3. Значит, нужно прописывать путь до обработчика ioncube для версии php 5.3. Чтобы прописать путь до обработчика ioncube, выполните команду:
echo "zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.3.so" /etc/php5/conf.d/ioncube.ini
Обратите внимание: в команде указан обработчик ioncube_loader_lin_5.3.so, так как в нашем случае на сервере стоит php версии 5.3. Если у вас php другой версии, обработчик будет иметь другой вид, например ioncube_loader_lin_5.2.so для версии php 5.2. Список всех обработчиков можно увидеть при помощи команды ls /usr/local/ioncube/ ;
- Перезапустите веб-сервер apache:
/etc/init.d/apache2 restart
- Проверьте, что ionCube установился: