编译PHP可以控制扩展目录和扩展文件吗?

环境:CentOS 7、PHP 5.4.16
原本是编译PHP 7,遇到两个问题,之后用PHP 5.4.16进行了验证,这两个问题依然存在。
简化的编译命令是:

./configure --prefix=/usr --enable-fpm --enable-mbstring=shared
make && make install

1.扩展文件目录:
请问,是否可以在编译过程中指定扩展文件的目录。
用yum安装PHP的时候,扩展目录是:

/usr/lib64/php/modules

而进行编译安装的时候,扩展目录是

/usr/lib/php/extensions/no-debug-non-zts-20100525

尝试用--extension-dir做编译参数,不被支持。
请问,是否进行编译安装的时候,无法控制扩展目录?

2.编译目录中的.a文件:
编译之后,进入扩展目录,可以发现,除了一般需要的.so文件之外,每个扩展还存在一个.a文件。
比如:
扩展目录截图

请问,这个.a文件是干什么用的?是否可以通过编译参数不生成这个文件?
另外:当完成PHP编译,单独编译扩展的时候则不会有.a文件。

阅读 4k
1 个回答

其实配置文件里面的那个extension目录不用更改,默认就行/usr/lib/php/extensions/no-debug-non-zts-20100525这个不必要,我亲自测试了的,这个属于动态模块,只要在extension里面申明一下,就会自动加载。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题