繁体   English   中英

使用/ MT在Windows上编译PHP

[英]Compiling PHP on Windows with /MT

我需要将PHP静态链接到我正在工作的项目。 为了做到这一点,我相信我需要使用/ MT编译PHP,但它似乎是在/ MD中完成的。

我在编译PHP时能够找到的唯一真实文档是https://wiki.php.net/internals/windows/stepbystepbuild ,这不包括我的要求。

可以这样做,还是我的假设不正确?

不确定为什么要这么做,但是你可以通过将PHP构建为静态二进制文件并在以后从C ++应用程序中使用该二进制文件来实现。 这应该是可移植的,应该满足您的要求,而不实际将其链接到您的应用程序。

为此,您需要在配置时包含--enable-static 例如:

./configure --enable-static=yes \
    --enable-fastcgi \
    --enable-force-cgi-redirect \
    --enable-discard-path \
    --prefix=/server/php \
    --exec-prefix=/server/php \
    --with-config-file-path=/server/php \
    --disable-all \
    --enable-shared=no \
    --enable-session \
    --with-gd \
    --with-zlib-dir \
    --with-freetype-dir \
    --enable-sockets
    --with-freetype-dir=/usr/local

您还应该将-all-static标志添加到MakefileBUILD_CGI 之后运行make ,你应该得到一个静态PHP二进制文件。 您现在可以在C ++项目中使用它,而无需任何外部要求。

另一方面,如果您可以通过创建C ++ PHP扩展来满足您的要求,那么您应该看看PHP-CPP

PHP-CPP库是用于开发PHP扩展的C ++库。 它提供了一组记录良好且易于使用的类,可以使用和扩展它们来构建PHP的本机扩展。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM