Oc-windows.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Config update php

Жонглируем версиями PHP в системе

Проблема “ хочу новую версию %software% на моем стареньк … стабильном Debian/CentOS…” так же стара, как *nix-мир. Способов добиться желаемого хватает. Есть масса решений как притащить в систему несколько версий одного и того же софта. Но дальше хочется не просто иметь ещё одну версию, но и управлять тем, какая из версий доступна в системе по умолчанию, для конкретных приложений или пользователей.

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

В качестве примера возьмём сервер на CentOS 7, где установлен родной PHP:

Также на сервере установлен наш Plesk с парой своих сборок PHP:

Допустим, мы хотим переключить систему на использование PHP 5.6 по умолчанию (переключать глобально PHP с версии 5.4 на 7 как-то сс… страшно — чему-то в системе может поплохеть от такого). Бинарь PHP 5.6 лежит у нас тут:

Как же сделать так, чтобы система использовала эту, нужную нам, версию PHP?

Сначала посмотрим на системную переменную PATH

В ней перечислен список директорий, в которых ищутся программы по имени. Главный нюанс — поиск в директориях происходит последовательно и используется первый найденный результат. Текущий путь до текущего бинарника PHP мы можем увидеть с помощью команды:

Как видно из PATH , /usr/local/bin находится в списке раньше, чем /usr/bin . Значит, если мы поместим ссылку на альтернативную версию PHP “пораньше”, в /usr/local/bin , то именно она и будет использоваться при вызове команды php вместо /usr/bin/php . Мы можем создать эту ссылку руками (и всё даже будет работать), но правильнее использовать специально созданную для этих целей утилиту update-alternatives (в CentOS это просто alternatives , но есть симлинка update-alternatives , поэтому дальше будем оперировать именно этой командой, как универсальной для Debian/Ubuntu/CentOS/и т.д.).

Теперь, давайте зарегистрируем все доступные версии PHP с помощью этой команды:

Цифры 10, 20 и 30 — это приоритет. Он работает для автоматического выбора, если администратор сам не выбрал конкретную версию. Самое большое число определяет выбор «по умолчанию».

Проверим, что php теперь указывает на созданную командой симлинку:

Давайте разберемся, что же update-alternatives сделала для нас:

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

То есть, мы успешно настроили группу PHP в update-alternatives , где по умолчанию в автоматическом режиме выбран системный PHP. Сейчас у нас есть возможность переключить команду PHP на любую другую версию..

Давайте переключимся на PHP версии 5.6, которая идет в поставке с Plesk’ом:

Проверяем, что переключение произошло:

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

С помощью update-alternatives можно выбирать не только версию PHP, но и многие другие вещи, например разные версии phpunit или редактор по умолчанию в системе. Подход этот универсален для различных систем. Не изобретая своего велосипеда, используя существующие инструменты, вы можете быть уверенным, что не устроили для ваших коллег квеста “Ну почему оно так работает?!”. Настраивайте свою систему правильно.

Config update php

Новые статьи

Полезные ссылки

  • phpBB Guru
  • База знаний
  • Полезные сведения
  • Общие данные
  • Структура и восстановление файла config.php

Структура и восстановление файла config.php

Каким-то образом вы случайно удалили файл config.php вашего форума, и теперь ваша конференция не работает, или же во время установки не записался config.php вследствие некорректных настроек прав доступа к файлам. В обоих случаях файлы и база данных по-прежнему присутствуют и функциональны, они просто не могут подключиться друг к другу. Не стоит паниковать и бросаться переустанавливать конференцию. сonfig.php очень легко можно создать вручную, если у вас под рукой есть установочные данные для подключения к базе данных.

Итак, давайте рассмотрим создание нового config.php.

Чтобы создать новый файл config.php, необходимо использовать текстовые редакторы для Windows, такие как Notepad (блокнот) или лучше текстовые простые редакторы, например Notepad++ или Notepad2.

Откройте текстовый редактор и создайте новый файл.
В этот файл вставьте следующий код:

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

Читать еще:  Site path php

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

$dbms = ‘mysql’; замените mysql в соответствии с типом используемой базы данных. Можете использовать следующие типы:
mysql
mysqli
firebird
mssql
mssql_odbc
oracle
postgres
sqlite

$dbhost = ‘database host/domain’; замените database host/domain на адрес хоста или доменный адрес сервера вашей базы данных. Во многих случаях это может быть localhost, но лучше об этом справиться у вашего провайдера. Примеры использования:
chubais_sobaka.sveta.net:6603
localhost
dbrs.sigmanet.com

$dbport = ‘database port if not default’; замените database port if not default на номер порта сервера базы данных, который используется для входящих соединений. Если сервер использует порт по умолчанию, оставьте это поле пустым. Вам необходимо ввести какое-то другое значение, если сервер базы данных использует другой порт, отличный от порта по умолчанию.

$dbname = ‘database name’; замените database name на имя базы данных, которую вы указали при установке конференции phpBB3. Если у вас есть доступ к базам данных посредством например PhpMyAdmin, вы сможете узнать его оттуда, в противном случае обратитесь за помощью к вашему провайдеру.

$dbuser = ‘database user name’; замените user name на значение учетной записи пользователя базы данных. Во всех случаях для подключения к базе данных требуется учетная запись пользователя, которая используется для подключения к ней.

$dbpasswd = ‘database password’; замените database password на пароль к учетной записи пользователя базы данных.

$table_prefix = ‘database table prefix’; замените database table prefix на префикс таблиц базы данных. По умолчанию, если вы не меняли префикс при установке, он будет phpbb_ , однако возможно вы его изменили, поэтому проверьте его, подключившись к базе данных через phpMyAdmin.

Далее следуют параметры, о которых вы не должны беспокоиться или изменять их.

$acm_type = ‘file’;
$load_extensions =»;
@DEFINE (‘PHPBB_INSTALLED’, true);

//@DEFINE (‘DEBUG’, true); NB: если вы раскомментируете (удалив //) эти строки, то вам станет доступна дополнительная отладочная информация, например вы будете получать сообщения об ошибках в синтаксисе сценариев php, если они где-то были допущены.
//@DEFINE (‘DEBUG_EXTRA’, true);

После завершения редактирования файла сохраните его под именем config.php , убедившись, что текстовый редактор не сохранил его как config.txt или config.php.txt.

Теперь у вас есть ваш новый config.php, который необходимо загрузить с помощью FTP-клиента. Он должен быть загружен в папку, где установлен сам форум phpBB3, в том же самом месте, что и файл common.php.

В большинстве случаев FTP-клиент установит правильные права доступа к файлам, но вы должны убедиться, что на файл установлены права 644 (chmod 644).

Обновление PHP на хостинге — подробное руководство

PHP представляет собой серверный язык, который широко используется для веб-разработки. Обновление PHP позволяет выполнять в три раза больше запросов, одновременно повысив безопасность сайта.

Ubuntu

Чтобы обновить PHP, на операционной системе Ubuntu на ядре Linux должна стоять старая версия — PHP 5. В случае использования Apache применяется модуль mod_php, для Nginx — PHP-FPM.

Помимо этого , перед установкой следует убедиться в том, что предварительно создан пользователь без root-прав, который может выполнять команды sudo.

Добавление пакетов PPA

В первую очередь необходимо добавить персональные пакеты архивов (PPA) — пакеты, обычно создающиеся в серверах-хранилищах (репозиториях). Найти бета-версии и модифицированные сборки можно на сайте launchpad.net. PPA для последней версии PHP можно найти у пользователя Ondřej Surý.

Далее, чтобы установка новой версии PHP прошла без проблем, необходимо обновить кэш локального пакета через sudo apt-get update .

Модуль Apache

Перед установкой обновляются все старые пакеты, исключая php5-mysql, который будет удален. Все пользователи MySQL должны повторно добавить двухсторонние биндинги PHP:

Установка PHP производится с помощью команды:

Если ранее пользователь как-то изменял конфигурационные файлы предыдущей версии, их можно будет найти в директории /etc/php5/ . Новая конфигурация находится по адресу /etc/php/7.0 .

Обновление PHP-FPM для Nginx

Для начала устанавливается новый пакет PHP-FPM командой

В случае с MySQL необходимо повторить ту же операцию, что и пользователям Apache — обновить биндинги.

Пути сокетов у Nginx

Сервер использует сокет, чтобы взаимодействовать с PHP-FPM. По умолчанию новая версия языка использует указанный сокетами путь /var/run/php/php7.0-fpm.sock .

В файле конфигурации default необходимо найти блок, который начинается с location

Выходим из редактора и сохраняем файл. Эту процедуру необходимо провести для всех виртуальных серверов, которые располагаются в директории /etc/nginx/sites-enabled .

Читать еще:  Db connect php

После завершения операции сервер перезагружается командой sudo service nginx restart .

Тестирование

Проверить PHP можно с помощью тестового файла, который нужно будет открыть или создать, если его нет. Для его создания подойдет редактор nano или любой другой. Открываем файл info.php в корневом каталоге.

Туда необходимо скопировать следующий код:

Выходим из редактора и сохраняем файл. Чтобы проверить версию PHP, вводим в браузере адрес http://домен_или_IP/info.php . Информация появится на экране.

Если что-то работает некорректно, необходимо убедиться в правильности действий. Например, обновление в панели Vesta требует предварительного ввода следующей команды:

А уже потом ввести версию PHP для начала процесса.

CentOS

Для CentOS 7 инструкция несколько отличается:

В первую очередь необходимо добавить репозиторий EPEL с помощью команды yum install epel-release .

После этого пользуемся комбинацией rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm , и только после этого обновляем PHP через команду yum install php70w .

Debian

Перед установкой новой версии PHP на Debian необходимо обновить все текущее программное обеспечение. Сделать это можно с помощью команд:

Как и с предыдущими случаями, в первую очередь необходимо включить PPA. Чтобы сделать это, импортировав ключ подписи, используем команду:

Если пос ле этого выяв ляется, что в системе не хватает некоторых важных пакетов, их необходимо добавить с помощью sudo apt-get install ca-certificates apt-transport-https .

Чтобы начать установку PHP, запустите процесс командой:

Проверить установленную версию можно через php -v .

Обновление для популярных CMS

Обновление PHP для CMS площадок обуславливается двумя факторами.

Увеличением скорости работы. По сравнению со старыми версиями новая будет работать в 3-4 раза быстрее, что позволяет повысить ранжирование сайта в поиске;

Повышением безопасности. Снижаются риски взлома, причинения ущерба репутации сайта.

Как сменить версию PHP в ISPmanager, читайте в этой статье.

WordPress

Для WordPress обновление PHP требуется по упомянутым ранее причинам. Если вдруг желания обновлять его нет, следует помнить, что платформа хорошо работает даже с версией 5.6.20, то есть располагает отличной обратной совместимостью. Поэтому, нужно ли обновлять PHP, нужно решать индивидуально.

Что сделать перед обновлением

Резервное копирование сайта , обеспечивающее возможность возврата на старую версию без потерь.

Обновление WordPress , тем и плагинов — рекомендуется делать регулярно, потом стоит проверить корректную работу сайта.

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

Устранение проблем совместимости — неподходящие плагины и темы придется поменять или попытаться исправить ситуацию, обратившись к их разработчикам.

Чтобы плагины и темы работали нормально после обновления, их разработчики должны иметь хорошую репутацию. Если после обновления PHP не работает сайт, проблема может крыться именно в них. Служба поддержки WordPress не гарантирует такую совместимость с новой версией PHP, поэтому подготовительный этап рекомендуется не пропускать.

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

Попросить обновить версию PHP в WordPress можно с помощью обращения, которое предлагает служба поддержки платформы.

Joomla

Для повышения безопасности сайта любая CMS будет рекомендовать обновить PHP. Так, например, в справке Joomla будет написано: «Проект Joomla рекомендует обновить ваш сайт до версии PHP 7.1 или более поздней версии».

Чтобы обновление до последних версий PHP прошло без проблем, необходимо убедиться в том, что на сайте стоит как минимум Joomla 3.5. Иначе система будет работать некорректно.

Самый простой способ обновить версию PHP — обратиться в поддержку хостинга. Зачастую они это делают бесплатно и достаточно быстро. Если же хочется сделать все самому, достаточно перейти в панель управления и начать процедуру в настройках на хостинге.

Остальные способы представлены ниже.

Обновление через .htaccess

Чтобы обновить все таким образом, достаточно создать новый файл в корневом каталоге сайта или отредактировать существующий. Необходимо добавить только одну строчку.

VPS или сервер

Обновить PHP на сервере, если используется Ubuntu 14.04 и ниже, можно с помощью команды:

Для версии 5.6 достаточно использовать sudo apt-get install php5 и после перезапустить сервер.

Для исправной работы версии PHP 7, как и в случае с инструкцией для Ubuntu, потребуется дополнительно обновить mod_php для Apache и PHP-FPM для Nginx соответственно. Порядок действий для этого представлен выше.

Битрикс

Чтобы обновить PHP в веб-окружении Битрикс, необходимо:

Чтобы попасть в меню, подключаемся к серверу по SSH через пользователя с root-правами. Выбираем пункт 1. Manage servers in the pool .

В следующем списке нажимаем на 8. Update PHP and MySQL .

Выбираем Update PHP to version 7.1 и подтверждаем действие, введя «y» («yes»).

Читать еще:  Нуллифицировать member php action profile

Меню отразит задание и его идентификатор, а также статус выполнения.

Чтобы узнать, завершен ли процесс, в основном меню нажимаем 10. Background pool tasks . Должна появиться строка с finished .

После любого обновления некоторые приложения могут перестать работать. Это связано с их версией выпуска. Если они запущены в Marketplace после лета 2016 года, то никаких проблем не возникнет. Более ранние версии имеют другие механизмы защиты, которых может оказаться недостаточно для работы с обновленным PHP.

Начни экономить на хостинге сейчас — 14 дней бесплатно!

Как изменить версию PHP в консоли

С помощью панели ISPmanager вы можете установить ту версию PHP, которая вам нужна, но только для сайта. При смене версий PHP в панели, системные настройки останутся прежними и в консоли сервера будет работать предустановленная версия PHP.

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

В этом нам поможет утилита update-alternatives.

С ее помощью можно изменять системную версию PHP на любую установленную в системе.

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

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

А теперь рассмотрим, как управлять версиями с помощью утилиты, на примере.

Виртуальный сервер с ОС Centos 7 и установленной панелью ISPmanager.

Предустановленная версия PHP — 5.4.16 (native), кроме неё в системе установлены более свежие версии 7.1 и 7.2.

Несмотря на то, что все сайты по умолчанию будут использовать версию PHP 7.2, так как она выбрана в панели и установлена в режиме «Модуль Apache», в консоли, как видите, иная версия PHP — 5.4:

Допустим, мы хотим, чтобы в консоли у нас также была PHP 7.2.

Для этого выполним следующие команды:

При помощи этих команд мы подменяем предустановленную версию PHP на ту версию, которая нам нужна: во-первых, добавляем в программу альтернативные версии PHP — те, с которыми будем работать, и указываем приоритет для каждой из версий. Приоритет — число, которое указывается в конце команды. Чем больше число, тем выше приоритет выбранной версии. Числа можно выбирать любые, главное, чтобы у нужной вам версии, был самый высокий приоритет.

Так в примере для версии PHP 7.2 указан приоритет 20 — больше, чем у других, следовательно, она будет выбираться по умолчанию.

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

Разберем вывод команды построчно:

php — статус «вручную» — означает, что мы вручную управляем ссылками на системный php.

ссылка указывает на /usr/bin/php — путь до файла, который подменяем.

/opt/php72/bin/php — priority 20

/usr/bin/php — priority 10 — две строки указывают на зарегистрированные нами версии PHP с указанием приоритета.

Оптимальная версия — /opt/php72/bin/php. — версия, которая будет использоваться по умолчанию.

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

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

После ввода команды вы увидите текущие версии PHP, добавленные в update-alternatives, с указанием их приоритета:

* — «звездочкой» отмечается версия, которая считается оптимальной в соответствии с ранее указанным приоритетом;

+ — плюсиком отмечается та версия, которая стоит по умолчанию.

В нашем примере, чтобы вернуться к предыдущей версии, выбираем пункт 2. Теперь в консоли снова системный PHP версии 5.4:

В статье мы рассказали о том, что update-alternatives используется для управления версиями PHP. Но в целом программа подходит для изменения ссылок при работе с версиями java, python и других языков программирования.

Что же касается смены версий PHP в консоли — если возникнут сложности с настройкой, всегда можно написать в нашу техподдержку. Поможем!

Ссылка на основную публикацию
Adblock
detector