【发布时间】:2016-06-12 14:53:51
【问题描述】:
我最近在我的开发服务器上切换到 PHP 7,它运行良好 - 直到现在。
自从我更新到 PHP 7.0.3-10+deb.sury.org~trusty+1(今天早些时候)后,utf8_decode 和 utf8_encode 函数不再可用。但是,它们在 PHP7 的早期版本中。调用时,会引发致命错误。
我读到这些功能是由mbstring 扩展提供的,我检查了var_dump(extension_loaded('mbstring')); 是否已加载。
我怎样才能让上述功能再次工作?
【问题讨论】:
-
mbstring不提供此功能。奇怪的是,它在XML Parser Functions 中列出。也许您想详细说明错误消息?对我的(自定义)PHP7 的快速测试表明它“仍然”有效...... -
完整的错误消息是
Fatal error: Uncaught Error: Call to undefined function utf8_encode() in ...。我设法将编码功能替换为mb_convert_encoding($value, 'UTF-8'),但我仍然想知道是什么导致了错误。 -
我需要该函数来转换从 LDAP 获得的字符串。关于错误消息,我还能说些什么?
-
这是 same 包吗?也就是7.0.3-9没有产生这个错误吗?如果是这样,您可能需要考虑使用
deb.sury.org提交错误报告。 -
很遗憾,我不记得服务器之前运行的是哪个版本,但是在更新到7.0.3-10之前肯定没有出现错误。我将对PHP7最近的变化做一些研究。谢谢你让我走上正轨!