Php扩展未加载

时间:2017-09-05 18:04:55

标签: php apache module php-extension phpinfo

将.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错误日志不包含任何消息。

欢迎提出任何建议。

2 个答案:

答案 0 :(得分:0)

.user.ini个文件只能设置certain PHP ini settings。恰好extension设置不是其中之一。事实上,according to the manualextension设置仅在核心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审核日志。