首页 > 解决方案 > PHP mb_substr() 调用未定义函数

问题描述

我在 aws 服务器中托管了我的 zend apigility 代码,并且在基本密码身份验证时出现 mb_substr() 函数未定义错误。我使用的是 php 7.0.30 和 ubuntu 16.4。错误详情如下

[Wed Aug 29 13:42:43 2018] PHP Fatal error:  Uncaught Error: 
Call to undefined function Zend\Crypt\Password\mb_substr() in 
/var/www/html/8181/vendor/zendframework/zend-crypt/src/Password/Apache.php:128 
Stack trace:
#0 /var/www/html/8181/vendor/zendframework/zend-authentication/src/Adapter/Http/ApacheResolver.php(165): 
Zend\Crypt\Password\Apache->verify('admin', '$apr1$Wgw6JqIq$...')

经过一番谷歌搜索后,我对 php.ini 文件进行了一些更改,只需删除 php_mbstring 和 php_exif dll 模块的分号前面。但我仍然只有同样的错误,

;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll  #i have enable this and below one.
extension=php_exif.dll      ; Must be after mbstring as it depends on it
;extension=php_mysqli.dll
;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client

你能帮我解决这个问题吗?

谢谢

戈帕尔·R

标签: phpzend-frameworkmbstringphp-7.0

解决方案


推荐阅读