我正在处理托管在远程服务器上的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
文件并使用正确的路径。
答案 0 :(得分:2)
尝试登录您的托管Cpanel,并从Cpanel中选择其中的PHP软件版本
点击那个&amp;在那里,您将拥有可以启用和禁用的所有扩展。
试着试一试
否则使用此代码检查扩展程序是否已启用:
<?php
echo "SW: ", extension_loaded('mb_strimwidth') ? 'OK' : 'MISSING', '<br>';
?>