php扩展的加载顺序及调整 - Go语言中文社区

php扩展的加载顺序及调整


首先找到php扩展加载目录

php -i |grep extension_dir
得到 /usr/lib64/php/modules

那么这个目录在哪里设置的呢?php.ini里面也没有啊?
我们在编译安装扩展的时候需要指定 --with-php-config=/usr/bin/php-config 参数,就是指定配置文件的,不然安装程序怎么知道应该将 xxx.so 放到哪里去呢。
cat /usr/bin/php-config
就能看到
extension_dir=’/usr/lib64/php/modules’

cd /usr/lib64/php/modules
ls
在这里插入图片描述
1、安装php时预装的扩展,加载顺序是文件名的先后顺序。
2、对于预装的扩展,没法设置不加载,自然也没法设置加载顺序,如果在php.ini中再次引入该扩展的话会提示重复加载的错误。PHP Warning: Module ‘sockets’ already loaded in Unknown on line 0
3、对于后期自己装的扩展,在php.ini中可设置是否加载,可设置加载顺序,但是 [自己装的扩展] 和 [预装的扩展] 这两块也没法设置先后,依然按名称先后。

例如
sockets 是预装的
event 是我装的
添加extension=event.so
php -m |grep event
提示需要先加载 sockets
添加 extension=sockets.soextension=event.so
提示重复加载 sockets
虽然不影响使用吧,但是看着碍眼,还是卸载 sockets扩展,然后在自己安装一个。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/raoxiaoya/article/details/100772517
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 18:14:44
  • 阅读 ( 1047 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢