首先找到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.so
和 extension=event.so
提示重复加载 sockets
虽然不影响使用吧,但是看着碍眼,还是卸载 sockets扩展,然后在自己安装一个。