我一直在尝试在 OSX 上使用 --enable-embed 配置选项构建和链接 libphp5.so。此操作未成功完成,失败的主要原因是在链接阶段未找到目标文件。
有报告称 --enable-embed 选项在 OSX 上已被破坏很长时间。
有人成功地将 Zend Engine 函数链接并嵌入到 C/C++ 应用程序中吗?
最佳答案
经过多次失败的尝试,我终于成功了。下面是一个配置字符串,它将在 OSX 上为 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 Engine 中的 DNS 函数相关的链接错误。例如:
g++ -o yourapp src/main.o -Lpath/to/libs -lphp5 -lresolv
希望有一天这会对某人有所帮助:-)
关于php - 构建 libphp5.so 以嵌入 C/C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6953864/