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'));
被加载。
我怎样才能让上述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上)。
- 没有find错误`CXXABI_1.3.8',在Linux ElementaryOS中如何修复Genymotion
- Docker / Boot2Docker:为OS X上的docker设置HTTP / HTTPS代理