В PHP 7 появилась масса новшеств, увеличилась и скорость работы. Но в седьмой версии была убрана устаревшая функциональность, что привело к некоторым проблемам с обратной совместимостью, затруднив перевод старых приложений на новую версию.
Так что если у вас например старая версия шаблона от Joomla или WordPress — скорее всего столкнётесь с проблемами типа:
Parse error: syntax error, unexpected ‘new’ (T_NEW).
В PHP 7 больше нельзя назначить классы с символом &. Поэтому простое удаление символа & может помочь вернуть скрипты к жизни. Найдите все =& и = & и удалить из них &.
В любом случае всё решаемо.
Итак — поехали:
# php -v PHP 5.6.31 (cli)(built: Jul 25 2017 21:16:28)
Для обновления я всегда пользовался portmaster, им же и заменим версию — в портах последняя 7.1:
# cd /usr/ports # portmaster -o lang/php71 lang/php56
после меняем обработчик для Apache:
# portmaster -o www/mod_php71 www/mod_php56
Теперь займёмся расширениями:
# pkg delete php56*
вместе с расширениями удалится и phpMyAdmin — так что не забудьте установить его заново.
# cd /usr/ports/lang/php71-extension # make config
выбираем нужные расширения и затем устанавливаем
# make install clean
Вот собственно и всё. Перезапускаем апач:
# apachectl restart
и радуемся новой версии PHP.
# php -v PHP 7.1.7 (cli) (built: Jul 30 2017 22:12:18)
Один комментарий