RuWeb.net Forum

Обновление PHP на нашем хостинге
timru - 23.10.2015 в 11:27

В связи с тем что поддержка PHP 5.2 была прекращена разработчиками почти 5 лет назад (с 6 января 2011 года), в ближайшее время мы планируем произвести обновление PHP на большинстве наших серверов до версии 5.4.

Расписание обновлений (октябрь-ноябрь):
27.10.2015 (вт) работы на сервере beta.deserv.net (host4.ruweb.net) 5.2 -> 5.4
29.10.2015 (чт) работы на сервере vip2.deserv.net (host25.ruweb.net) 5.2 -> 5.4
02.11.2015 (пн) работы на сервере delta.deserv.net (host6.ruweb.net) 5.2 -> 5.4
04.11.2015 (ср) работы на сервере o.deserv.net (host15.ruweb.net) 5.2 -> 5.4
06.11.2015 (пт) работы на сервере pi.deserv.net (host16.ruweb.net) 5.2 -> 5.4
16.11.2015 (пн) работы на сервере lambda.deserv.net (host11.ruweb.net) 5.2 -> 5.4
16.11.2015 (пн) работы на сервере vip8.deserv.net (host34.ruweb.net) 5.2 -> 5.4
18.11.2015 (ср) работы на сервере vip7.deserv.net (host33.ruweb.net) 5.2 -> 5.4
20.11.2015 (пт) работы на сервере tau.deserv.net (host19.ruweb.net) 5.2 -> 5.4

24.11.2015 (вт) работы на сервере gamma.deserv.net (host1.ruweb.net) 5.2 -> 5.4
24.11.2015 (вт) работы на сервере vip6.deserv.net (host32.ruweb.net) 5.2 -> 5.4
26.11.2015 (чт) работы на сервере psi.deserv.net (host23.ruweb.net) 5.2 -> 5.4
26.11.2015 (чт) работы на сервере vip5.deserv.net (host31.ruweb.net) 5.2 -> 5.4
30.11.2015 (пн) работы на сервере hydra.deserv.net (host37.ruweb.net) 5.3 -> 5.4
30.11.2015 (пн) работы на сервере vip4.deserv.net (host30.ruweb.net) 5.2 -> 5.4

02.12.2015 (ср) работы на сервере sigma.deserv.net (host18.ruweb.net) 5.2 -> 5.4
02.12.2015 (ср) работы на сервере vip3.deserv.net (host28.ruweb.net) 5.2 -> 5.4
04.12.2015 (пт) работы на сервере xi.deserv.net (host14.ruweb.net) 5.2 -> 5.4
08.12.2015 (вт) работы на сервере libra.deserv.net (host39.ruweb.net) 5.3 -> 5.4
08.12.2015 (вт) работы на сервере vip15.deserv.net (host48.ruweb.net) 5.3 -> 5.4
10.12.2015 (чт) работы на сервере mu.deserv.net (host12.ruweb.net) 5.2 -> 5.4
10.12.2015 (чт) работы на сервере vip13.deserv.net (host44.ruweb.net) 5.3 -> 5.4
14.12.2015 (пн) работы на сервере lyra.deserv.net (host43.ruweb.net) 5.3 -> 5.4
14.12.2015 (пн) работы на сервере vip12.deserv.net (host42.ruweb.net) 5.3 -> 5.4
16.12.2015 (ср) работы на сервере varpi.deserv.net (host26.ruweb.net) 5.2 -> 5.4


Сервера, которые не будут обновляться:
andromeda.deserv.net (host29.ruweb.net) 5.2 не будет обновляться
rho.deserv.net (host17.ruweb.net) 5.2 не будет обновляться
epsilon.deserv.net (host2.ruweb.net) 5.2 не будет обновляться
vip.deserv.net (host22.ruweb.net) 5.2 не будет обновляться
vip9.deserv.net (host36.ruweb.net) 5.2 не будет обновляться
dorado.deserv.net (host35.ruweb.net) 5.3 не будет обновляться
vip10.deserv.net (host38.ruweb.net) 5.3 не будет обновляться
vip11.deserv.net (host40.ruweb.net) 5.3 не будет обновляться



[Отредактировано 14.12.2015 кто timru]


support - 29.10.2015 в 15:04

Если в ваших скриптах используются

Zend Optimizer
модуль sqlite (не путать c pdo_sqlite)
функции session_is_registered(), session_register(), session_unregister(), import_request_variables()
передача параметров по ссылке при вызове функций [ т.е. вызовы в виде foo(&$bar) ]
другие функции, модули или конструкции неподдерживаемые в новой версии PHP
а также, если для работы вашего сайта необходимо, чтобы в PHP были включены директивы register_globals или magic_quotes_gpc

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

Руководство по миграции PHP 5.2 -> 5.3
Руководство по миграции PHP 5.3 -> 5.4


Особое внимание необходимо обратить на
Обратно несовместимые изменения PHP 5.3
Обратно несовместимые изменения PHP 5.4
Удаленные расширения PHP 5.3
Удаленные расширения PHP 5.4


[Отредактировано 2.11.2015 кто support]

[Отредактировано 2.11.2015 кто support]


support - 2.11.2015 в 10:15

Ошибку "Fatal error: Call-time pass-by-reference has been removed" зачастую можно исправить просто заменив в указанном файле и строке вызов функции вида foo(&$bar,$baz, ...) на foo($bar,$baz, ...)

Ошибку "Call to undefined function" для функций session_is_registered(), session_register(), session_unregister() и import_request_variables() можно исправить включением скрипта который эти функции восстановит https://bitbucket.org/!api/2.0/snippets/ruweb/dRAre/files/php54-compat-lib.php

Также php54-compat-lib.php позволяет эмулировать работу директив register_globals=on и magic_quotes_gpc=on

Если вместо кириллицы в каких-то полях вашего сайта появилась пустота, это может быть следствием работы функций htmlspecialchars() и htmlentities(). В PHP 5.4+ если при вызове функций htmlspecialchars(), htmlentities(), html_entity_decode() и get_html_translation_table() не указана кодировка, то используется UTF-8, вместо прежней ISO-8859-1. Чтобы все работало как раньше, вызовы вида htmlspecialchars($str) нужно заменить на htmlspecialchars($str, ENT_COMPAT, "ISO-8859-1"). То же самое для htmlentities().
При большом количестве вхождений функции с различными параметрами бывает проще объявить новую функцию _htmlspecialchars() (пример есть в php54-compat-lib.php) и выполнить глобальную замену "htmlspecialchars" на "_htmlspecialchars" в скриптах.

[Отредактировано 27.11.2015 кто support]


Anonymous - 22.11.2015 в 15:09

Классно было бы, если сразу на php 7 переход сделать :)

Но и переход на 5.4 уже радует.


Anonymous - 4.12.2015 в 15:18

Протестировал свой сайт на wordpress на php7 - это бомба. 4-х кратное увеличение скорости.