PHP扩展已启用但无法正常工作

时间:2016-10-03 05:35:38

标签: php apache php-extension mbstring

我正在处理托管在远程服务器上的Laravel项目。当我运行项目时,我得到以下错误:

  

vendor / laravel / framework / src / Illuminate / Support / Str.php第160行:   调用未定义的函数Illuminate \ Support \ mb_strimwidth()

所以我联系了服务器支持,他们告诉我默认情况下在php.ini中启用了扩展名:

extension=php_mbstring.dll

但是当我尝试运行项目时遇到同样的错误,所以我运行了一些测试来找出发生了什么。

$path = php_ini_loaded_file();
    echo 'The loaded file path is :' . $path;

if (extension_loaded('mbstring')) { 
    echo '<h1 style="color:red; font-size:50px;">extension is loaded<h1>';
}else {
    echo '<h1 style="color:red; font-size:50px;">extension is not loaded<h1>';
}

输出:

  

加载的文件路径为:/usr/local/lib/php.ini

     

未加载扩展程序

我无法访问SSH或任何CLI界面,因此很难调试。我想知道为什么会这样。感谢帮助。

更新

支持人员告诉我,运行phpinfo()不会返回mbstring的任何条目。

正确加载php.ini文件并使用正确的路径。

1 个答案:

答案 0 :(得分:2)

尝试登录您的托管Cpanel,并从Cpanel中选择其中的PHP软件版本

点击那个&amp;在那里,您将拥有可以启用和禁用的所有扩展。

试着试一试

否则使用此代码检查扩展程序是否已启用:

<?php 
   echo "SW: ", extension_loaded('mb_strimwidth') ? 'OK' : 'MISSING', '<br>';
?>