首页 > 解决方案 > 已安装 intl 扩展,但在 phpinfo() 中看不到

问题描述

我正在使用带有灯 +webmin 控制面板 php 7.2 的 centos 7,我需要国际国际扩展,我遵循谷歌的一些教程并安装国际扩展(我确定因为如果我再次尝试安装它说已经安装最新更新)见波纹管 snnipest [root@xxxxxxx ~]# sudo yum --enablerepo=remi install php-intl Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * Webmin: download.webmin.com * base: ftp.hosteurope.de Excluding mirror: mirror.fra10.de.leaseweb.net * centos-sclo-rh: mirror.alpix.eu * centos-sclo-sclo: mirror.checkdomain.de Excluding mirror: mirror.de.leaseweb.net Excluding mirror: mirror.nl.leaseweb.net * epel: ftp-stud.hs-esslingen.de * extras: centos.mirror.iphh.net * remi: remi.mirror.liteserver.nl * remi-php56: remi.mirror.liteserver.nl * remi-php72: remi.mirror.liteserver.nl * remi-safe: remi.mirror.liteserver.nl * updates: ftp.hosteurope.de Package php-intl-7.2.27-1.el7.remi.x86_64 already installed and latest version Nothing to do 已经添加extension=php_intlextension=intl在 php.ini 中

配置文件 (php.ini) 路径 /etc/opt/rh/rh-php72

加载配置文件 /home/two4cloudspace/etc/php7.2/php.

然后重新启动,但我仍然无法在我的 phpinfo() 输出中的 phpinfo() 输出中找到 intl 扩展名,显示我的模块目录是

/opt/rh/rh-php72/root/usr/lib64/php/modules

php -r "echo ini_get('extension_dir');"显示我的模块目录是

/usr/lib64/php/modules

我试图在两个目录中找到 intl.so 文件,我在

/usr/lib64/php/modules

但找不到

/opt/rh/rh-php72/root/usr/lib64/php/modules

然后我下载了 intl.so 并上传到/opt/rh/rh-php72/root/usr/lib64/php/modules并重新启动,但仍然是同样的问题。如果我命令php -m我可以看到所有模块并且 intl 包含在那里。

但我在 phpinfo() 或需要在哪里进行国际扩展时找不到它,它说国际缺少我做错了什么或如何解决?

标签: phplinuxcentosintlwebmin

解决方案


您正在混合提供 PHP 的不同 RPM 包(运行rpm -qa | grep php | sortrpm -qf $(which php),它将在前面提到)。该目录/opt/rh/rh-php72/root/usr/lib64/php/modules属于rh-php72-php而不属于 Remi。sudo yum install --enablerepo=centos-sclo-rh rh-php72-php-intl如果您需要,这会有所帮助/opt/rh/rh-php72/root/usr/lib64/php/modules/intl.so;之后不要忘记重新启动您的网络服务器(如果您不使用 php-fpm 而不是 mod_php)。


推荐阅读