Сборка libphp5.so для встраивания в C / C ++ - PullRequest
2 голосов
/ 05 августа 2011

Я пытался собрать и связать libphp5.so с помощью параметра конфигурации --enable-embed в OSX.Это не завершается успешно, в основном из-за того, что объектные файлы не были найдены на этапе компоновки.

Есть сообщения о том, что опция --enable-embed давно не работает в OSX.

Кто-нибудь имел успех в этом, связывая и встраивая функции Zend Engine в приложение C / C ++?

Ответы [ 2 ]

3 голосов
/ 09 августа 2011

Мне наконец удалось это сделать после множества неудачных попыток. Вот строка конфигурации, которая будет собирать библиотеку libphp5.a в OSX для PHP 5.3.6:

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

Затем, при ссылке на код C / C ++, вам нужно добавить libresolv, чтобы предотвратить ошибки ссылок, связанные с функциями DNS в Zend Engine. Например:

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

Надеюсь, это поможет кому-нибудь однажды: -)

0 голосов
/ 21 июня 2013

Я использую что-то вроде этого:

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/

И включите cli позже с phpize, эта работа с 5.2.10 и выше.

Edit: смотрите здесь: http://forums.wxphp.org/viewtopic.php?f=6&t=42 это мое полное разрешение с make-файлом и т. д. для 5.4.17.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...