Меню Рубрики

Установка php в isp

Небольшой Блог Системного Администратора

Довольно частая задача стоит при использовании ISP Manager — это обновление версии PHP до более актуальной или параллельное использование нескольких версий PHP в режиме FastCGI/CGI для разных пользователей или да же сайтов. Подобная инструкция подойдет не только при использовании ISP Manager, но и без него, при ручной настройке WEB-сервера.

В последних версиях ISP Manager 5 научился менять версию PHP из панели управления. Но если вы желаете свою особенную версию со своим набором модулей, то этот способ подходит.

Обновление версии PHP в Centos.

Обновление PHP или установка будут производиться из репозитория Remi, поэтому произведем его подключение.

После установки пакета нужной версии репозитория, у Вас появится соответствующий файл: /etc/yum.repos.d/remi.repo

Теперь необходимо включить нужную версию PHP. Для этого редактируем /etc/yum.repos.d/remi.repo. Сейчас он содержит:

На примере Centos 6, где по умолчанию предоставляется версия PHP 5.3, для обновления до 5.4 достаточно установить enabled=1 в главной секции [remi].

После чего выполняем команду:

и наслаждаемся новой версией PHP. Для работы с apache mod_php этот способ так же работает.
Если нужно обновить версиюю до 5.5, то включаем ветку remi-php55 и снова одновляем php. Для версии 5.6 аналогично.

Из данного репозитория можно обновить так же mysql, phpmyadmin и т.д.
При обновлении phpmyadmin, у Вас могут возникнуть проблемы в его работе, из за того, что с новым пакетом обновляется файл /etc/httpd/conf.d/phpmyadmin.conf, где указывается не полный параметр php_admin_value open_basedir
Поэтому редактируем его к виду

Добавляя запись /usr/share/doc/

Обновление версии PHP в Ubuntu

В Ubuntu процесс аналогичен. Для простоты обновления используем репозиторий от Ondrej
Конечно же, можно собрать новую версию из исходников, но зачем усложнять жизнь.

Для версии 5.4 добавляем репозиторий:

После добавления репозитория, обновляем PHP:

Если у Вас отсутствует add-apt-repository. Устанавливаем пакет:

Установка нескольких версий PHP в Centos

    Способ подходит для Centos с архитектурой x86_64. Для i386 архикетуры в репозитории remi, нет пакетов для установки нескольких версий и необходимо собирать PHP отдельно из исходников.

Подключаем репозиторий Remi как описано выше и включаем нужную вертку.
Теперь, чтобы установить новую версию PHP паралельно уже используемой, необходимо использовать имена пакетов с номером версии. Т.е. в репозитории лежат пакеты с именами php55, php56. К примеру, чтобы установить 5.6 выполняем:

Установленная версия будет лежать паралельно со стандартным PHP, но исполнительные файлы называются как PHP56 и т.д.

Установка нескольких версий PHP в Ubuntu

Здесь дела обстоят хуже. Нужную версию PHP придется собирать из исходников. Но для упрощения этого процесса, можно воспользоваться специальными менеджерами версий PHP: PHPBREW, PHPENV. Лично мне понравился PHРBREW и использую собраную им версию PHP для некоторых проектов. Использование PHPBREW оставим на самостоятельное изучение. Приведу лишь пример установки:

2. Инициализируем начальные настройки:

3. Устанавливаем директорию куда будет собираться PHP:

4. Устанавливаем пакеты зависимостей при сборке:

5. Основные команды PHPBREW и установка PHP:
— обновление списка возможных для установки версий

— вывод списка возможных версий

— установка PHP с некоторым набором модулей:

— просмотр возможный наборов модулей

Использование нескольких версий PHP

Теперь о самом главном: как же использвать установленные нами версии в ISP Manager.
Обязательным условием является использование, для созданого домена, FastCGI или просто CGI режима работы PHP.
В ISP есть несколько путей подключения нужной версии:

1) Замена php обработчика для вех сайтов пользователя ISP Manager.

Для каждого из пользователей ISP Manager, создается свой собственны обработчик. Следовательно, на примере пользователя admin, мы редактируем:

указывая новую версию обработчика PHP

при использовании PHPBREW, путь будет примерно следующий:

2) Замена php только для определенного домена.

Создаем копию оригинального файла /var/www/admin/data/php-bin/php и меняем в нем используемый обработчик:

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

При использовании FastCGI изменяем:

При использовании CGI, меняем:

Единственный недостаток этого метода — при обновлении данных домена из панели ISP Manager, записи меняются на оригинальные.

источник

Как установить PHP 7 на сервер с помощью ISP-manager хостинга firstVDS

Многие программы переходят с использования PHP 5 в качестве базового языка программирования на PHP 7. В этой статье подробно рассмотрим как установить PHP 7 на сервер с помощью ISP-manager хостинга firstVDS. Судя по информации о PHP 7, он быстрее, надёжнее и безопаснее PHP 5. Поэтому следует уделить время на то, чтобы перевести на него свои приложения. Тем более, что поддержка PHP 5 закончится в конце 2018 года.

Читайте также:  Установка заднего стекол на опель

Итак, первым делом хорошо бы определиться с тем, какая версия PHP самая свежая. В этом может помочь официальный сайт языка www.php.net. Прямо на главной странице в левом столбце находится актуальная информация о всех текущих стабильных версиях языка программирования PHP:

Как видно на картинке выше (на момент написания статьи), вышла и поддерживается уже 7.1.x версия.

Для того, чтобы накатить PHP 7 последней версии на сервер хостинга firstVDS нужно воспользоваться разделом «Настройки» в ISP-manager. Первым делом рекомендую обновить список доступного ПО в ISP-manager.

После того, как список доступного ПО обновлён, можно увидеть, что для установки доступно несколько версий PHP 5 и PHP 7:

Для того, чтобы установить необходимую версию языка, нужно выбрать строчку с этой версией (кликнув по ней один раз правой кнопкой мышки). После того, как нужная строчка выделена, нажать на кнопку «Установить» с жёлто лампочкой в верхнем ряду кнопок управления закладки «Возможности» IPS-панели сервера:

На возникший вопрос «Вы действительно желаете установить следующие пакеты [список пакетов]?» нужно ответить утвердительно:

Сразу после этого начнётся установка выбранного пакета обновлений:

О том, то в данный момент устанавливается на сервере можно судить по анимированной иконке в виде вращающегося диска с капающей с него стрелкой =)

Процесс установки новой версии PHP занимает некоторое время. После того, как версия установится, в строчке с названием этой версии появится пиктограмма жёлтой лампочки:

На этом процесс установки PHP 7 на сервер можно считать законченным.

О том, как использовать при работе сервера именно эту версию PHP для конкретного сайта рассмотрим в одной из следующих статей.

источник

Несколько версий PHP в ISPmanager

Зачастую возникает необходимость обеспечить поддержку сразу нескольких разных версий PHP на одном сервере хостинга, управляемом панелью ISPmanager. У нее такой функции нет, разработчики неоднократно объясняли, почему. Поэтому попробуем устранить этот недостаток самостоятельно.

Изначально у нас есть сервер под управлением ОС Linux Debian v7.XX amd64 с установленной ISPmanager Lite v4.XX, где из репозитория Dotdeb инсталлирован PHP v5.4.XX. Задача заключается в том, что бы обеспечить также одновременную поддержку версий 5.2.XX и 5.3.XX. Сразу оговорюсь, что излагаемое ниже решение подходит только для использования PHP в Apache как FastCGI.

Установить одновременно несколько версий PHP посредством пакетного менеджера APT в Debian невозможно. Поэтому нам придется компилировать их из исходных кодов. Для упрощения этой задачи создан набор скриптов phpfarm. Он представлен в двух вариантах. Оригинальный от Christian Weiske: https://github.com/cweiske/phpfarm И доработанный от François Poirotte: https://github.com/fpoirotte/phpfarm Я использовал последний, поскольку считаю, что он имеет несколько существенных улучшений.

Начнем с того, что установим в систему все необходимые утилиты, библиотеки и файлы заголовков, необходимые для компиляции PHP:

Копируем репозиторий исходных кодов phpfarm:

Перед началом компиляции следует обратить особое внимание на то, какие функциональные возможности PHP будут доступны в результате. Для версии 5.2.XX я рекомендую следующий набор опций сборки, которые следует указать в файле » /usr/local/share/phpfarm/src/custom/options-5.2.sh «:

А для 5.3.XX и 5.4.XX – » /usr/local/share/phpfarm/src/custom/options-5.3.sh » и » /usr/local/share/phpfarm/src/custom/options-5.4.sh » соответственно:

PHP v5.2.XX уже давно не поддерживается. Поэтому исходные коды последней доступной на текущий момент версии 5.2.17 я рекомендую брать не из официальных источников, а у проекта https://code.google.com/p/php52-backports/ Он нацелен на устранение недоработок PHP v5.2.XX в первую очередь связанных с уязвимостями, впрочем, создается такое впечатление, что php52-backports уже тоже больше не развивается.

Специфичную для Debian ошибку нам придется устранить самостоятельно:

Со скачиванием исходных кодов PHP v5.3.XX и 5.4.XX phpfarm справится сам, поэтому приступаем к компиляции и установке:

По окончании этой процедуры в каталоге » /usr/local/share/phpfarm/inst/php-5.X.XX/ » получаем PHP нужной версии со всей необходимой для ее работы инфраструктурой.
Если же вам потребуется пересобрать PHP, например, с измененным набором опций компиляции, то перед повторным запуском не забудьте выполнить следующий набор команд:

Файл настроек располагается в » /usr/local/share/phpfarm/inst/php-5.X.XX/etc/php.ini «. Рекомендую в нем сразу прописать опцию «short_open_tag = On». Также необходимо вручную подключить расширение dba, которое компилируется, как внешний модуль. Для этого достаточно создать файл » /usr/local/share/phpfarm/inst/php-5.X.XX/etc/dba.ini » следующего содержания:

Коснемся темы расширений PHP немного подробнее. Естественно, что через панель управления ISPmanager можно управлять только теми из них, что прилагаются к стандартно установленной версии PHP из подключенных репозиториев APT. Для тех версий, что устанавливаются посредством phpfarm, подключение расширений следует также производить путем их компиляции из исходных кодов. Рассмотрим, как это можно сделать, на примере ImageMagick из репозитория PEAR:

Читайте также:  Установка автосигнализации в питере

Теперь остается только лишь подключить ImageMagick создав файл » /usr/local/share/phpfarm/inst/php-5.X.XX/etc/imagick.ini » следующего содержания:

А вот набор команд для установки акселератора XCache:

Обратите внимание, что все расширения необходимо отдельно компилировать для каждой установленной версии PHP.
Смена версии PHP у пользователя панели управления ISPmanager выполняется тривиально. Для этого достаточно лишь изменить строку вызова интерпретатора в файле «/var/www//data/php-bin/php». Вот как выглядит вывод функции PHP phpinfo() при стандартном содержимом: #!/usr/bin/php-cgi. Ссылка на скриншот.

Т.е. это версия PHP, установленная в системе стандартно с помощью менеджера пакетов APT. Заменим строку вызова на «#!/usr/local/share/phpfarm/inst/php-5.3.28/bin/php-cgi «. Вывод функции PHP phpinfo() будет выглядеть вот так: ссылка на скриншот.

И на » #!/usr/local/share/phpfarm/inst/php-5.2.17/bin/php-cgi » получим такой результат при выводе phpinfo(): ссылка на скриншот.

источник

Настройка PHP

PHP имеет множество настроек, которые может изменить Администратор или Пользователь ISPmanager. При этом набор значений зависит от режима работы. В режимах работы PHP «CGI», «FastCGI (Apache)» и «FastCGI (Nginx + PHP-FPM)» используются пользовательские значения. В режиме «Модуль Apache» — значения, указанные администратором. Если пользователь не изменял значение параметра, то вместо пользовательского значения переменной будет использоваться значение, указанное администратором.

Значения переменных выделены цветами:

  • Красный — параметры, значения которых не определены в конфигурационном файле PHP и получены непосредственно от самого интерпретатора PHP.
  • Зелёный — параметры, значения которых определены в глобальном конфигурационном файле PHP для администратора и в пользовательском для пользователя.
  • Синий — параметры, значения которых не определены.
  • Жёлтый — параметры, значения которых доступны пользователю только для чтения.

Изменение значений переменных

Чтобы изменить значение переменной:

Под администратором перейдите в Настройки web-сервера → PHP → Настройка. Под пользователем перейдите в WWW → PHP → Настройка.

Администратор определяет значения каких переменных отображаются пользователям по умолчанию. Для настройки перейдите в Настройки web-сервераPHPНастройка, выберите переменную и нажмите Показать.

Глобальный конфигурационный файл настроек хранится в:

  • CentOS: /etc/php.ini для нативной версии PHP и в /opt/ /etc/php.ini для альтернативных версий.
  • Debian: для каждого режима работы PHP индивидуальный файл. /etc/php5/apache2/php.ini, /etc/php5/cgi/php.ini и /etc/php5/fpm/php.ini.

Пользовательские конфигурационные файлы хранятся в /var/www/ / /php.ini. Настройки, которые изменял пользователь, хранятся в этой же директории в конфигурационном файле изменённых параметров .php.ini.

Чтобы изменить пользовательские конфигурационные файлы вручную, отредактируйте файл php.ini и продублируйте изменения в файле .php.ini.

Шаблон создания конфигурационных файлов

Файл /usr/local/mgr5/etc/templates/php.ini используется как шаблон создания пользовательских конфигурационных файлов. При создании нового пользователя настройки PHP для него изменяются в соответствии с шаблоном. По умолчанию шаблон содержит строки:

$HOMEDIR — макрос, который при создании пользователя заменяется на его домашнюю директорию.

Применение настроек для режимов работы PHP «CGI» и «FastCGI (Apache)»

Если пользователь ISPmanager сохраняет изменения настроек PHP:

  1. Изменённые значения переменных записываются в конфигурационный файл изменённых параметров.
  2. Содержимое пользовательского конфигурационного файла полностью заменяется на содержимое глобального файла.
  3. Значения из конфигурационного файла изменённых параметров заменяют соответствующие значения в пользовательском конфигурационном файле.

Если администратор ISPmanager сохраняет изменения настроек PHP:

  1. Значения записываются в глобальный конфигурационный файл.
  2. Для каждого пользователя ISPmanager:
    1. Содержимое пользовательского конфигурационного файла полностью заменяется на содержимое глобального файла.
    2. Значения из конфигурационного файла изменённых параметров пользователя заменяют соответствующие значения в пользовательском конфигурационном файле.

Применение настроек для режима работы PHP «FastCGI (Nginx + PHP-FPM)»

Если пользователь ISPmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в конфигурационный файл PHP-FPM пользователя соответствующей версии PHP.

Если администратор ISPmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в глобальный конфигурационный файл PHP-FPM соответствующей версии PHP.

Применение настроек для режима работы PHP «модуль Apache»

Пользователь не имеет доступа к изменению настроек PHP для этого режима.

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

Первоначальная настройка PHP

Чтобы упростить первоначальную настройку PHP основные параметры сгруппированы:

  1. Перейдите в Настройки web-сервера → PHP → Настройка → Основные.
  2. Выберите Временную зону, которая будет использоваться по умолчанию всеми функциями даты и времени. Указывается в переменной «date.timezone».
  3. Укажите Время выполнения PHP-скрипта в секундах. Если за это время загрузка скрипта не происходит, его работа завершается. Указывается в переменной «max_execution_time».
  4. Укажите ограничение на Макс. размер запроса в МиБ. Оно определяет максимально допустимый размер данных, отправляемых методом POST . Указывается в переменной «post_max_size».
  5. Укажите ограничение на Макс. размер файлов в МиБ. Оно определяет максимальный размер загружаемых с помощью PHP-скриптов файлов. Указывается в переменной «upload_max_filesize».
  6. Укажите Лимит памяти в МиБ. Он определяет максимальный объём оперативной памяти, который может использовать PHP-скрипт. Указывается в переменной «memory_limit».
  7. Чтобы выводить сообщения об ошибках вместе с остальным выводом PHP-скрипта, включите опцию display_errors. Рекомендуем использовать эту опцию только для отладки скриптов и отключать её после завершения работы.

Чтобы ISPmanager вёл журнал работы PHP-скриптов, включите опцию log_errors. Настройте список ошибок, записываемых в журнал. Для этого включите опцию Вывод всех ошибок и в поле Выбор флагов для игнорирования при выводе ошибок выберите исключения, которые не будут записываться.

источник

Режимы работы PHP

В ISPmanager можно включить возможность обработки PHP-скриптов для сайта. Для этого при создании или изменении WWW-домена включите опцию PHP и настройте его параметры. Подробнее см. в статье Создание WWW-домена.

Поддерживаются режимы работы PHP:

Подробнее о возможностях настройки PHP для режимов работы см. в статье Настройка PHP.

Модуль Apache

  • динамическое содержимое обрабатывает модуль PHP веб-сервера Apache;
  • настройки PHP указываются глобально и применяются для всех WWW-доменов пользователей с этим режимом. Изменить их может только администратор в Настройки web-сервера → PHP → Настройка;
  • можно выбрать только одну версию PHP для работы модуля, которая распространяется на всех пользователей ISPmanager;
  • наиболее быстрый из режимов Apache. По скорости уступает только «FastCGI (Nginx + PHP-FPM)».
  1. Установите Apache-MPM-ITK или Apache MPM-Prefork, Модуль PHP. Подробнее см. в статье Установка веб-сервера.
  2. Включите в Учётные записи → Пользователи → Изменить опцию Может использовать PHP как модуль apache.
  3. Выберите режим при создании или изменении WWW-домена. Подробнее см. в статье Создание WWW-домена.

При выборе этого режима в конфигурационном файле Apache для WWW-домена добавляются строки вида:

  • динамическое содержимое обрабатывает Apache в режиме CGI;
  • настройки PHP указываются индивидуально для каждого пользователя. Изменить их может пользователь в WWW → PHP → Настройка;
  • для каждого WWW-домена, работающего в этом режиме, можно выбрать версию PHP;
  • самый медленный режим работы.
  1. Установите Apache-MPM-ITK или Apache MPM-Prefork. Подробнее см. в статье Установка веб-сервера.
  2. Включите в Учётные записи → Пользователи → Изменить опцию Может использовать PHP в режиме CGI.
  3. Выберите режим при создании или изменении WWW-домена. Подробнее см. в статье Создание WWW-домена.

При выборе этого режима в конфигурационном файле Apache для WWW-домена добавляются строки:

FastCGI (Apache)

  • динамическое содержимое обрабатывает Apache в режиме FastCGI;
  • настройки PHP указываются индивидуально для каждого пользователя. Изменить их может пользователь в WWW → PHP → Настройка;
  • для каждого WWW-домена, работающего в этом режиме, можно выбрать версию PHP;
  • по скорости работы уступает «Модуль Apache» и «FastCGI (Nginx + PHP-FPM)», но превышает «CGI».
  1. Установите Apache MPM-Prefork и Модуль PHP. Подробнее см. в статье Установка веб-сервера.
  2. Включите в Учётные записи → Пользователи → Изменить опцию Может использовать PHP в режиме FastCGI (Apache).
  3. Выберите режим при создании или изменении WWW-домена. Подробнее см. в статье Создание WWW-домена.

При выборе этого режима в конфигурационном файле Apache для WWW-домена добавляются строки:

FastCGI (Nginx + PHP-FPM)

  • динамическое содержимое обрабатывает PHP-FPM;
  • настройки PHP указываются индивидуально для каждого пользователя. Изменить их может пользователь в WWW → PHP → Настройка;
  • каждый пользователь ISPmanager может выбрать версию PHP для своих WWW-доменов, работающих в этом режиме;
  • PHP-FPM не поддерживает правила .htaccess;
  • самый быстрый режим работы.
  1. Установите Nginx, PHP-FPM FastCGI. Подробнее см. в статье Установка веб-сервера.
  2. Включите в Учётные записи → Пользователи → Изменить опцию Может использовать PHP в режиме FastCGI (Nginx + PHP-FPM) .
  3. Выберите режим при создании или изменении WWW-домена. Подробнее см. в статье Создание WWW-домена.
  4. Чтобы изменить версию PHP:
    • под учётной записью пользователя — перейдите в WWW →PHP;
    • под учётной записью администратора — перейдите на форму редактирования пользователя.

При выборе этого режима в конфигурационном файле Nginx для WWW-домена добавляются строки:

источник

Добавить комментарий

Adblock
detector