构建libphp5.so以嵌入C / C ++

时间:2011-08-05 09:04:20

标签: php c++ c macos linker

我一直在尝试使用OSX上的--enable-embed configure选项构建和链接libphp5.so。这不能成功完成,主要是因为在链接阶段没有找到目标文件而失败。

据报道,OSX上的--enable-embed选项已经被打破了很长时间。

有没有人这样做,将Zend Engine功能链接并嵌入到C / C ++应用程序中?

2 个答案:

答案 0 :(得分:3)

在经过多次尝试失败后,我终于成功完成了这项工作。这是一个configure字符串,它将在OSX for PHP 5.3.6上构建libphp5.a库:

./configure --enable-embed=static --disable-libxml --disable-dom --disable-simplexml --disable-xml --disable-xmlreader --disable-xmlwriter --without-pear --without-iconv

然后,当链接到C / C ++代码时,您需要添加libresolv以防止与Zend引擎中的DNS功能相关的链接错误。例如:

g++ -o yourapp src/main.o -Lpath/to/libs -lphp5 -lresolv

希望有一天能帮到某人: - )

答案 1 :(得分:0)

我使用的是这样的:

CFLAGS='-m32 -m64' LDFLAGS='-m32 -m64' CPPFLAGS="-m32 -m64" ./configure  --prefix=/usr/local --disable-cli --enable-embed --build="build folder" --with-iconv-dir=/usr/local/opt/libiconv/

稍后使用phpize启用cli,这适用于5.2.10及更高版本。

编辑: 看这里:http://forums.wxphp.org/viewtopic.php?f=6&t=42这是我对makefile等的完整解决方案......对于5.4.17。