我一直在尝试使用OSX上的--enable-embed configure选项构建和链接libphp5.so。这不能成功完成,主要是因为在链接阶段没有找到目标文件而失败。
据报道,OSX上的--enable-embed选项已经被打破了很长时间。
有没有人这样做,将Zend Engine功能链接并嵌入到C / C ++应用程序中?
答案 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。