将.user.ini文件与extension=geoip.so
(或mysqli.so)一起使用我尝试加载相关模块失败:在Php 7.1的phpinfo()页面中(甚至是Php5.4) )模块永远不会显示。
1).user.ini文件正常工作,因为我能够修改变量memory_limit。
2)phpinfo()函数正确显示了我想要加载的包含.so扩展名的extension_dir文件夹(但是在php.ini文件中,此变量不存在)。
3)php错误日志不包含任何消息。
欢迎提出任何建议。
答案 0 :(得分:0)
.user.ini
个文件只能设置certain PHP ini settings。恰好extension
设置不是其中之一。事实上,according to the manual,extension
设置仅在核心php.ini
文件中有效。因此,请将extension=geoip.so
放入主php.ini
文件中。
作为旁注:我使用Ubuntu / Debian来处理PHP的大部分内容。通过Debian软件包存档提供的标准PHP发行版具有编译到其中的额外代码,允许进行分布式配置。这种方式的工作方式是SAPI模块扫描conf.d
目录并包含任何ini
个文件。通常当你为Debian打包一个外部PHP扩展(我可能会添加它很痛苦 - 我已经为我自己的扩展做了)你包含一个包含扩展名的ini
文件(例如{{1} }})。该软件包将其安装在分布式配置目录中,当PHP旋转时,它将包含在extension=myext.so
文件中。也许你打算像这样安装一个基于Debian的配置?
另一个注意事项:由于您可能正在使用CGI SAPI并且可能希望不同的站点加载不同的模块(仅限于),您可能会考虑让Web服务器指向CGI PHP at另一个php.ini
文件。我只是假设你想要实现这样的目标。但是,使用php.ini
文件加载某些目录的模块是不可能的。
答案 1 :(得分:0)
尝试禁用或配置selinux。检查selinux审核日志。