FreeBSD Обновление версии PHP5 на PHP7

В 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)

Leave a Reply

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