【问题标题】:PHP extension is enabled but not workingPHP 扩展已启用但无法正常工作
【发布时间】: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


【解决方案1】:

尝试登录您的托管 Cpanel,然后在 Cpanel 中您可以选择 PHP 软件版本

点击它,您将拥有所有可以启用和禁用的扩展。

试试这个

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 2011-06-16
    • 2013-05-21
    • 2011-08-12
    • 1970-01-01
    相关资源
    最近更新 更多