utf8_ (en | de) код удален из php7?

Недавно я переключился на PHP 7 на моем сервере разработки, который работал отлично – до сих пор.

Поскольку я обновился до PHP 7.0.3-10+deb.sury.org~trusty+1 (ранее сегодня), функции utf8_decode и utf8_encode больше не доступны. Однако они были в предыдущих версиях PHP7. При вызове возникает фатальная ошибка.

Я читал, что эти функции предоставляются mbstring , которое я проверил с помощью var_dump(extension_loaded('mbstring')); загружается.

Как я могу заставить вышеуказанные функции работать снова?

У меня такая же проблема. Просто установите php7.0-xml . Ubuntu 16.04:

 sudo apt-get install php7.0-xml 

Изменить: перезагрузить apache2 для загрузки нового пакета.

На Ubuntu вы получили следующее сообщение во время обновления PHP7:

 php7.0 (7.0.3-6) unstable; urgency=medium * Several extensions have been split into separate extension packages: - php-dba - Database (dbm-style) Abstraction Layer - php-mbstring - Multibyte String - php-soap - SOAP - php-xml - DOM, SimpleXML, WDDX, XML, XMLReader and XMLWriter - php-zip - Zip * The new packages are not installed automatically, so you will need to install them by hand, if you use the functions in those modules. * Most modules that have been builtin before are now included in php7.0-common package and they are enabled by default for your convenience. You can disable unneede modules via phpdismod tool. -- Ondřej Surý <ondrej@debian.org> Mon, 22 Feb 2016 12:37:09 +0100 

поэтому это один из тех пакетов, которые вызывают проблему. В этом случае это php-xml .

Обратите внимание

Новые пакеты не установлены автоматически

Вы можете исправить это

 sudo apt-get install php-xml sudo apache2ctl graceful 

Если вы работаете в CentOS, следующая команда должна работать:

 yum install php-xml 

Поскольку верхний проголосовавший ответ не работал для меня, я нашел еще один пакет для php7, который (очевидно, по его названию) исправил его для меня

 sudo apt-get install php7.0-mbstring 

Функции utf8_decode и utf8_encode доступны в php 7:

function.utf8-encode – manual – php

Это связано с тем, что пакет php-xml отсутствует в вашей установке php.

Если на вашем сервере работает Mandrake, введите «urpmi php-xml».

Если ваш сервер работает под управлением EASYPHP в Windows, нажмите на логотип EASYPHP, чтобы активировать модуль php-xml.

На debian или ubuntu попробуйте:

 apt-get install php7.0-xmlrpc 

В Ubuntu 16.04 LTS, с php 5.6, попробуйте:

 sudo apt-get install php5.6-xml sudo service apache2 restart 

Я столкнулся с той же проблемой и для меня,

 sudo apt-get install php-patchwork-utf8 

и перезапуск сервера apache2 решил проблему (на Ubuntu 16.04 LTS).