Как обновить php на openserver
Перейти к содержимому

Как обновить php на openserver

  • автор:

Форум

Необходимо обновить версию до самой последней. Как это правильно сделать ?

Добавлено спустя 56 минут 58 секунд:
Отвечу сам себе
Для этого просто создаём папку PHP-5.3.14, делаем копию конфига PHP-5.3.14_php.ini.txt, копируем нужные DLL в папку \ext (xDebug, etc), указываем в настройках OS нужную версию и вуаля. Всё работает!

Добавлено спустя 13 минут 38 секунд:
Хм, вот только с 5.4.4 не прокатило. Не запускается сервер. Как решить проблему ?

Как обновить Open Server Panel

При всех своих плюсах, Open Server Panel имеет один существенный недостаток — невозможность обновления. Это обусловлено в первую очередь тем, что сама программа Open Server Panel (далее по тексту OSP), является неким менеджером конфигураций для различных модулей. Когда нужно запустить PHP 5.5, то OS вначале скопирует нужную конфигурацию, а после запустит PHP. Если нужна PHP 7.1, то вначале подготовится конфигурация, после опять запуск.

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

Для нас, вебмастеров, главная сложность в том, что возникает проблема тестирования сайтов под разные новые версии модулей. В первую очередь, речь идёт об PHP. Можно, конечно, вручную попробовать настроить OSP под новую версию PHP, но есть более простой способ.

Корень проблемы лежит в невозможности переноса баз данных MySQL простым копированием файлов. Единственный «легальный» способ — это перенос через дапм. То есть вначале делается дамп текущей базы, после этого он импортируется в другую базу. К счастью уже есть масса инструментов для этой операции, поэтому в целом задача несложная.

Перед тем, как обновлять Open Server Panel, я бы посоветовал вынести файлы сайтов в отдельный каталог. Стандартно OSP размещает файлы в «d:\OSPanel\domains» (диск и основной каталог, естественно, может быть другим). Лучше всего его вынести вне каталога OSP, чтобы не иметь с ним зависимости, например в «d:\domains».

Делается это в настройках OSP на вкладке «Корневая папка доменов».

Последовательность такая. Вначале останавливаем сервер. Потом переносим каталог в новое место. Далее указываем его в настройках и запускаем сервер. По идее проблем вообще никаких не будет.

Отдельное расположение сайтов ещё удобно с точки зрения создания его бэкапа.

Дальше нужно сделать бэкап/дамп базы данных. Поскольку OSP может работать с множеством баз (и их версий), то дамп нужно сделать для каждой версии отдельно. Самый простой вариант — это воспользоваться phpMyAdmin. Нужно зайти под логином root и сделать экспорт всех таблиц. На выходе будет текстовый sql-файл.

Второй вариант — использование командной строки и стандартной утилиты mysqldump. Лично я предпочитаю делать дамп именно с её помощью, поскольку она гарантирована исключает возможные проблемы с сохранением данных (юникод и всё-такое).

Для этого заходим в bin-каталог рабочей базы, например «d:\OSPanel\modules\database\MySQL-5.5\bin\» и выполняем команду:

mysqldump -u root --opt --all-databases -r dump.sql

Несколько секунд и здесь же появится файл «dump.sql». Теперь этот дамп можно будет перенести в любую другую базу, например на MariaDB 10.

После того, как дамп базы (баз) создан, можно перейти непосредственно к обновлению OSP.

1. Вначале нужно остановить сервер и выйти из программы.

2. Переименовать каталог OSPanel в OSPanelOLD. Это будет старый резервный вариант.

3. Наспаковать open_server_5_2_9_basic.exe (или другая версия) — это самораспаковывающийся RAR-архив в каталог «OSPanel» (каталог может быть произвольным).

4. Если у вас Win32, то можно сразу удалить все каталоги отмеченные как «-x64» (в подкаталогах «modules» и «userdata»). Это сэкономит примерно 2Гб места на диске.

5. Закройте все остальные программы, поскольку при обновлении windows, может потребоваться перезагрузить комп.

6. Запустить OSP: файл «Open Server x86.exe» (или «Open Server x64.exe» для win64).

  • Поскольку это новая установка, то будет запущен мастер настроек.
  • Нужно выбрать язык
  • Возможно потребуется установить/обновить Microsoft VC++. Нужно дать согласие. После этого может потребоваться перезагрузить комп.
  • Если прошла перезагрузка, то ещё раз запускаем OSP. Он уже установлен.
  • В phpMyAdmin идем на вкладку Импорт.
  • Выбираем файл sql-дампа.
  • Жмём «Вперёд» и ждем, пока не выполнится импорт (время зависит от размера файла, обычно несколько минут).

Форум

Зачем? Такие вопросы всегда возникают. Можно и полгода подождать, тогда в релиз это само собой войдёт, но. не поверите, нужно! По этому если кто подскажет способ, то будет очень здорово (для меня).

x-positive Сообщения: 1 Зарегистрирован: 08 июл 2019, 12:33

Re: Прикрутить php 7.4

Мне вот например понадобилось, потому что там обещают функционал, которого нет пока в 7.3 и я думаю с вводом этого функционала они пофиксили ошибку, которая возникает у меня на 7.3:

Ink0gnit0 Сообщения: 179 Зарегистрирован: 17 мар 2013, 21:16

Re: Прикрутить php 7.4

x-positive,
Как и любую другую версию PHP, чтобы прикрутить PHP 7.4, проделайте следующее:
1. Скачайте дистрибутив: https://windows.php.net/downloads/qa/ph . 16-x86.zip
2. Создайте новый каталог PHP-7.4 в подкаталоге с модулями PHP: .\modules\php
3. Распакуйте содержимое скачанного дистрибутива в созданный каталог
4. Скопируйте файлы cacert.pem, composer.bat и composer.phar, а также весь каталог PEAR из подкаталога .\modules\php\PHP-7.3 в подкаталог ./modules/php/PHP-7.4
5. Создайте копию файла .\userdata\config\PHP-7.3_php.ini и переименуйте копию в .\userdata\config\PHP-7.4_php.ini
6. Откройте в блокноте файл .\userdata\config\PHP-7.4_php.ini и отключите/закомментируйте расширения, которые отсутствуют в версии 7.4.
7. В окно настроек OSPanel, на закладке Модули, выберите PHP-7.4.
8. Сохраните настройки и запустите сервер.
9. Проверьте версию PHP, пройдя по ссылке: http://127.0.0.1/openserver/phpinfo.php

Для x64 версии PHP действия аналогичные.

rengen Сообщения: 13 Зарегистрирован: 27 ноя 2019, 20:26

Re: Прикрутить php 7.4

Завтра, 28 ноября выходит релизная версия 7.4,
Надеюсь, что вскоре она появится в стандартной сборке OSP

Форум

Добрый день, давно меня тут не было, но я вернулся, с просьбой объяснить, как поставить php-5.6.16, т.к. в 12,13,14, 15, есть ошибке в самом ядре, которые мне мешают работать, пытался методом тыка поменять, но увы, не вышло, пишет php 5.6.12.
Спасибо.
Еще хотел бы увидеть реализацию, nginx 1.9.7 + Apache 2.4, Максим, если вам не сложно помогите

[upd=1448891843][/upd]
Хмм, проблему решил сам, даже для теста поставил php 7.0.0RC8
Если что вот вам инструкция:
1) Качаем архив отсюда: http://windows.php.net/qa/
2) Создаем папку PHP-7.0 в

path\to\openserver\modules\php\PHP-7.0

3) Редактируем файл php.ini-production ( или переименовываем в php.ini )
4) Копируем данный файл в

path\to\openserver\C:\OpenServer\userdata\config\ ( с именем PHP-7.0_php.ini )

5) Редактируем данный файл

path\to\openserver\C:\OpenServer\userdata\config\PHP-7.0_php.ini

Раскомментируем строку

enable_dl = On

6) И последнее подключаем все необходимые модули которые идут как:

;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll ;extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll extension=php_mbstring.dll ;extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysqli.dll ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_shmop.dll etc.

Готово!
P.S. Не работает с апачем, только nginx
Bearburger Сообщения: 1 Зарегистрирован: 02 дек 2015, 13:50

Re: Обновить php

Не работает с апачем, только nginx

На самом деле с Apache все прекрасно работает.

НЕ ЗАБЫВАЙТЕ БЭКАПИТЬ ВСЕ, ЧТО МЕНЯЕТЕ!

1. Переименовываем папку \modules\php\PHP-5.6 во что-нибудь другое.
2. Переименовываем папку \modules\php\PHP-7.0 в \modules\php\PHP-5.6

Таким образом мы обходим «защиту» в лончере, который проверяет версию PHP по имени папки и не дает использовать с Apache 2.4 версии PHP за исключением 5.4 и 5.6.

Меняем в \userdata\config\Apache-2.4_server.conf

LoadModule php5_module "%sprogdir%/modules/php/%phpdriver%/php5apache2_4.dll"
LoadModule php7_module "%sprogdir%/modules/php/%phpdriver%/php7apache2_4.dll"

Кроме того мне пришлось еще обновить OpenSSL до версии 1.0.2d. Качаем Win32 OpenSSL v1.0.2d Light (http://slproweb.com/products/Win32OpenSSL.html). Устанавливаем. При установке выбираем скопировать бинарные файлы в /bin, а не Windows. Далее из папки свежеустановленной копии OpenSSL (\OpenSSL-Win32\bin\) берем файлы libeay32.dll, openssl.exe, ssleay32.dll и заменяем оные в папке \modules\http\Apache-2.4\bin\.

Конфиги от PHP7 и PHP5.6 в моем случае совместимы, поэтому их можно не менять.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *