调用未定义函数 codeigniter\locale_set_default() 搜索时出现 codeigniter 错误

codeigniter error with call to undefined function codeigniter\locale_set_default() search

这是我在新服务器安装的 CodeIgnitor 4 中看到的错误。

Fatal error: Uncaught Error: Call to undefined function CodeIgniter\locale_set_default() 

当我查看潜在问题时,我发现我安装了 intl 扩展,但是当我执行此命令时:

    php -i | grep -i intl

returns

    intl.default_locale => no value => no value

所以我找到的解决方案是编辑 PHP 配置文件并添加:

   intl.default_locale="en-US"

我将其添加到 /etc/php.d/20-intl.ini,但您的本地配置可能会有所不同。

然后我测试了apache配置并重启:

    apachectl configtest
    apachectl restart

错误并没有消失,所以我继续搜索,发现 php-fpm 是 运行:

    ps auxwww | grep -i PHP 

返回

apache   10499  0.0  0.4 292148 16672 ?        S    17:07   0:00 php-fpm: pool www
apache   10502  0.0  0.4 292148 16696 ?        S    17:07   0:00 php-fpm: pool www
apache   10503  0.0  0.3 290076 13756 ?        S    17:07   0:00 php-fpm: pool www
apache   10504  0.0  0.3 290076 13768 ?        S    17:07   0:00 php-fpm: pool www
apache   10506  0.0  0.2 288028 11624 ?        S    17:07   0:00 php-fpm: pool www
apache   20201  0.0  0.3 290076 13744 ?        S    17:16   0:00 php-fpm: pool www

所以我用这个命令重新启动了那个服务:

    service php-fpm restart

现在一切似乎都运行完美。新安装的 CodeIgnitor 仍有一些权限问题需要解决,但这些问题是针对另一个 post.

除了在 php.ini 文件中添加像这样的实际语言环境:

intl.default_locale="en-US"

确保启用此扩展...换句话说,删除此行中的 ;...

extension=php_intl.dll

重新启动后,这对我来说已经修复了。