php编译安装时,默认的扩展目录总是很奇怪,至少让我不舒服,比如我编译的php7.4.3:
--extension-dir [/opt/php/74/lib/php/extensions/no-debug-non-zts-20190902]
其中 /opt/php/74 是–prefix 编译参数指定,后面为自动生成,不同版本的PHP,区别只是最后几数字。
我想想改变这个默认的路径,网上查半天没查到。但是查看用yum 或 apt 安装的PHP,路径又不是这样的:
Usage: /usr/bin/php-config [OPTION]
Options:
--prefix [/usr]
--includes [-I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib]
--ldflags []
--libs [-lcrypt -lresolv -lcrypt -ledit -lncurses -lstdc++ -lz -lpcre -lrt -lm -ldl -lxml2 -lz -llzma -lm -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lssl -lcrypto -lcrypt -lcrypt ]
--extension-dir [/usr/lib64/php/modules]
那说明,这个路径还是可以设置的。 网上查不到,就自己研究。
用vi打开configure文件,很快到如下一段代码:
if test -z "$EXTENSION_DIR"; then
extbasedir=$ZEND_MODULE_API_NO
if test "$oldstyleextdir" = "yes"; then
if test "$PHP_DEBUG" = "1"; then
part1=debug
else
part1=no-debug
fi
if test "$enable_maintainer_zts" = "yes"; then
part2=zts
else
part2=non-zts
fi
extbasedir=$part1-$part2-$extbasedir
EXTENSION_DIR=$libdir/extensions/$extbasedir
else
if test "$enable_maintainer_zts" = "yes"; then
extbasedir