使用 PHP 嵌入支持在 macOS 上构建 PHP

问题描述 投票:0回答:0

我正在尝试从 macOS 上的源代码构建 PHP 8.2.5,以在我的 C 应用程序中启用 PHP-Embed 的功能。使用提供的 ./configuremake 后,构建过程生成 Linux 风格的 libphp.so (MH_BUNDLE) 库,而不是 macOS 标准的 libphp.8.2.5.dylib (MH_DYLIB) 库。这会在尝试构建我的 C PHP 嵌入器时导致链接器问题。谁能提供有关如何在 macOS 上构建 PHP 并适当支持 PHP-Embed 的指南,包括生成 .dylib 库,或者提供成功链接生成的 .so 库的指导?以下是我在尝试构建我的 PHP Embedder C 代码时遇到的链接器命令和错误:

gcc \
 -O2 -Wall -g \
 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib \
 -L/usr/local/lib \
 min-emb.c \
 -lphp \
 -Wl,-rpath,/usr/local/lib -o min-emb-mac

这里是错误:

ld: can't link with bundle (MH_BUNDLE) only dylibs (MH_DYLIB) file '/usr/local/lib/libphp.so' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [min-emb-mac] Error 1

任何帮助将不胜感激。谢谢!

php c macos clang ld
© www.soinside.com 2019 - 2024. All rights reserved.