Я компилирую libxml2 и php самостоятельно в Windows. Но почему-то libxml не включен в PHP. Я делаю это:
1) Я собираю libxml2 static. Это делается с помощью сценария сборки. Я компилирую libxml2 четыре раза: (x32 / x64) и (release / debug). Я покажу здесь одну часть сценария сборки для x32 / release, где вы можете увидеть, как компилируется libxml2:
cscript configure.js prefix=%WORKD_IR% include="%ICONV_INCLUDE_DIR%" lib="%ICONV_LIB_DIR_32%" static=yes debug=no
nmake /f Makefile.msvc
robocopy "bin.msvc" "%BIN32_DIR%" *.dll *.exe
robocopy "bin.msvc" "%LIB32_DIR%" *.lib
2) В сценарии сборки для компиляции php 5.6.20 я добавляю библиотеку и включаю каталог для libxml2 через configure
параметр --with-extra-includes
а также --with-extra-libs
, И я также добавил эти параметры в сценарий configure
:
...
--with-libxml=static^
--with-simplexml=static^
--enable-xmlreader^
--with-dom^
Но почему-то, когда я смотрю на вывод сценария сборки, я вижу, что libxml не включен:
...
WARNING: dom support can't be enabled, libxml is not enabled
...
WARNING: soap not enabled, libxml not found
...
Итак, почему libxml2 не включен? Что мне здесь не хватает? Все они скомпилированы с Visual Studio 2015.
При запуске configure
В сценарии флаг libxml должен выглядеть следующим образом:
...
--with-libxml^
...
Других решений пока нет …