如何覆盖 pecl 已安装软件包的默认值配置选项


How can you override the defaults configure options for a pecl installed package

由于以下配置失败,我当前在安装 PECL LUA 软件包时遇到问题:

pecl install channel://pecl.php.net/lua-0.9.4

...
checking for lua support... yes, shared
checking for lua in default path... not found
configure: error: Please reinstall the lua distribution - lua.h should be in <lua-   dir>/include/
ERROR: `/tmp/pear/temp/lua/configure' failed

查看压缩包后,配置脚本似乎将接受"--with-lua"覆盖以传递lua标头的已知位置。但是,如何使用 pecl 安装程序将此信息传递下来是完全不明显的。

好吧,

软件包中似乎有损坏的配置魔法。最后,我不得不硬连线几条路径:

ln -s /usr/include/lua /usr/include/lua5.1
ln -s /usr/lib/liblua5.1.a liblua.a
ln -s /usr/include/lua/* /usr/include

足以让编译器通过。

我在 ubuntu:17.10 上用 lua5.3 和 php7.1 解决了类似的问题

pecl download lua
tar xvzf lua-2.0.4.tgz
cd lua-2.0.4
phpize
./configure --with-lua-version=5.3
make
make install

AFAIK,每个configure脚本都允许您传递自定义CFLAGSLDFLAGS。这允许您执行以下操作:

CFLAGS="-I/path/to/lua/include" LDFLAGS="-L/path/to/lua/lib" ./configure

如果源C++,请使用CXXFLAGS