Я думаю о переносе с php 5.3 на php 5.6 на сервер моей компании, но меня беспокоит, как это может повлиять на другие сайты на сервере, особенно joomla и wordpress, которые были размещены несколько лет назад, например, 2011. Я пытался разместить новый веб-сайт, который использует «get_result()
», но у меня были некоторые ошибки при его размещении, хотя драйвер mysqlnd присутствовал, я мог только получать мои результаты с использованием «bind_result()
». поэтому я отлаживал его и выяснил, что это из-за определенного драйвера nd_mysqli
, который присутствует в php 5.6. Вот почему я решил обновиться. Есть ли проблемы, которые могут возникнуть после этого обновления? Или есть другой способ получить драйвер nd_mysqli
? хотя, честно говоря, я бы предпочел обновиться, это 2017 год, для этого пришло время.Как бы перейти с Php 5.3 до 5.6 повлиять на другие сайты на моем сервере
ответ
Справедливая сумма изменилась между 5.3 и 5.6, поэтому трудно точно сказать, с какими проблемами вы столкнетесь.
Если вы используете последние версии joomla и wordpress, то есть вероятность того, что они совместимы, поскольку соответствующие разработчики уже исправили любые проблемы, но если они были старыми, как php 5.3, тогда вы можете столкнуться с проблемами.
Независимо от того, что вы делаете, вы должны создать тестовый сервер, чтобы быть уверенным.
На следующих страницах показаны изменения, которые были сделаны:
- http://php.net/manual/en/migration54.php
- http://php.net/manual/en/migration55.php
- http://php.net/manual/en/migration56.php
Вы действительно должны обновить, хотя PHP 5.3 больше не получает пакеты исправлений системы безопасности, и вы скорее всего, уязвимы.
спасибо, но все функции доступны в 5.3 также доступны в 5.6? –
Короткий ответ: нет, несколько функций были удалены, но его более сложные, чем просто доступные функции или нет; так как функции также изменились. Просмотрите предоставленные ссылки - в частности разделы «Отказоустойчивые изменения», в которых подробно описаны различия: http://php.net/manual/en/migration54.incompatible.php http://php.net/manual/en/migration55 .incompatible.php http://php.net/manual/en/migration56.incompatible.php - Я мог бы перечислить их все, но это было бы просто скопировать и вставить. – Theo
Одним из основных изменений, которые могут вызвать проблемы, является устаревание функций mysql_ * в 5.4, а последующее удаление в 5.5 – Theo
Это зависит от версий Joomla и WordPress.
Например, может быть возможно получить Joomla 1.5 и более старые версии WordPress, работающие на PHP 5.6, но вам нужно будет подавить строгие ошибки в соответствии с https://stackoverflow.com/a/9984309/1983389 или аналогичными. Это также будет зависеть от того, какие расширения/дополнения используются.
Как поясняет @Theo, вероятно, лучше всего сделать это изменение в тестовой среде, чтобы все проблемы можно было идентифицировать и разрешить, прежде чем приступать к изменениям на производственном сервере.
Альтернативная и лучшая долгосрочная стратегия может заключаться в обновлении Joomla, WordPress и любых других приложений на сервере до обновления PHP.
Теоретически, это не должно сильно влиять на ситуацию и может фактически улучшить ситуацию. Но вы можете настроить тестовый сервер и скопировать все, чтобы проверить его в первую очередь. – aynber