我正在将centos 7与lamp + webmin控制面板php 7.2一起使用,我需要intl intl扩展名,我遵循了google的一些教程,并安装了intl扩展名(我确定,因为如果我再次尝试安装,它说已经安装了最新版本更新)请参见波纹管
[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
已在两个php.ini中都添加了extension=php_intl
或extension=intl
配置文件(php.ini)路径/ etc / opt / rh / rh-php72
已加载的配置文件/home/two4cloudspace/etc/php7.2/php。
,然后重新启动,但仍然无法在phpinfo()输出中找到国际扩展 在我的phpinfo()输出中,显示我的模块目录为
/ 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()中找到它,或者需要在其中进行国际扩展的地方说它缺少国际 我在做什么错或如何解决?
答案 0 :(得分:1)
您正在混淆提供PHP的不同RPM软件包(运行rpm -qa | grep php | sort
和rpm -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)。