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

pao*_*olo 65 php utf-8 mbstring

我最近在我的开发服务器上切换到PHP 7,它运行得很好 - 直到现在.

自从我更新到PHP 7.0.3-10+deb.sury.org~trusty+1(今天早些时候)以来,无法再访问utf8_decodeutf8_encode功能.然而,它们是PHP7的早期版本.调用时,会引发致命错误.

我读到这些功能是由mbstring我检查过的扩展程序提供的var_dump(extension_loaded('mbstring'));.

如何让上述功能再次运行?

Vla*_*nov 185

我有同样的问题.只需安装php7.0-xml包.Ubuntu 16.04:

sudo apt-get install php7.0-xml
Run Code Online (Sandbox Code Playgroud)

编辑:重新启动apache2以加载新包.

  • 需要注意的是,`utf8_encode`和`utf8_decode`已从7.2开始转移到ext/standard,因此它们将始终可用(ext/standard始终可用). (6认同)
  • 不,你需要重新启动php-fpm,如果你以快速cgi运行它,那么web服务器与重新加载php无关. (2认同)

Tho*_*ler 12

在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
Run Code Online (Sandbox Code Playgroud)

所以它是导致问题的那些软件包之一.在这种情况下,它是php-xml.

请注意

新软件包不会自动安装

你可以解决这个问题

sudo apt-get install php-xml
sudo apache2ctl graceful
Run Code Online (Sandbox Code Playgroud)