【发布时间】:2017-02-11 00:22:56
【问题描述】:
我正在开发一个托管在远程服务器上的 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 文件以正确的路径正确加载。
【问题讨论】:
-
那么它没有加载。检查phpinfo。
-
@PedroGámez 我做到了。它不返回
mbstring的任何条目。你能告诉我从这里去哪里吗? -
查看 phpinfo 以确定加载了什么 php.ini 文件。可能不是您编辑的那个。
-
好吧,你不能在不重新启动 Apache 的情况下重新加载 php.ini,所以......
-
哈。我看到了。然而,我们仍在讨论这个问题。 OP - 获得一个谷歌云帐户并启动您自己的服务器,这就是答案。你的主人在骗你。
标签: php apache php-extension mbstring