utf8_(en | de)代码从php7中删除?

我最近在我的开发服务器上切换到了PHP 7,直到现在,它已经运行良好。

由于我更新到PHP 7.0.3-10+deb.sury.org~trusty+1 (今天早些时候), utf8_decodeutf8_encode函数不再可用。 但是,他们在以前的PHP7版本中。 被调用时,会引发致命错误。

我读了这些函数是由mbstring扩展提供的,我用var_dump(extension_loaded('mbstring')); 被加载。

我怎样才能让上述function重新运作?

我有同样的问题。 只需安装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 

由于顶级投票的答案没有为我工作,我发现另一个包(为它的名字显而易见)固定它为我

 sudo apt-get install php7.0-mbstring 

utf8_decode和utf8_encode函数可以在php 7中访问:

function.utf8-encode – manual – php

这是因为php安装中缺lessphp-xml包。

如果您的服务器正在运行Mandrake,请input“urpmi php-xml”。

如果您的服务器在Windows上运行EASYPHP,请单击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上)。