Windows编译

编译PHP

参照 PHP官方文档

配置参数

configure "--enable-swoole=shared --disable-all --enable-cli"


  • ζั͡✾唯一兔°∝

    configure: creating ./config.status config.status: creating config.h config.status: config.h is unchanged config.status: executing libtool commands configure: WARNING: unrecognized options: --enable-cli, --disable-all

  • ζั͡✾唯一兔°∝

    configure: creating ./config.status
    config.status: creating config.h
    config.status: config.h is unchanged
    config.status: executing libtool commands
    configure: WARNING: unrecognized options: --enable-cli, --disable-all
    

  • ζั͡✾唯一兔°∝

    https://github.com/Microsoft/php-sdk-binary-tools

  • ζั͡✾唯一兔°∝

       "cl.exe" /D _USRDLL /D PHP7DLLTS_EXPORTS /D PHP_EXPORTS /D LIBZEND_EXPORTS /D TSRM_EXPORTS /D SAPI_EXPORTS /D WINVER=0x0601 /Iext/date/lib /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 /DHAVE_TIMELIB_CONFIG_H=1 /wd4244 -Iext/pcre/pcrelib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 /D HAVE_CONFIG_H /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 /I "ext/date/lib" /DHAVE_TIMELIB_CONFIG_H=1 /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 /DHAVE_WINSOCK_H=1 -Iext/swoole/ -Iext/swoole/include /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 /w /nologo /I . /I main /I Zend /I TSRM /I ext /D _WINDOWS /D WINDOWS=1 /D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D _MBCS /W3 /D _USE_MATH_DEFINES /FD /wd4996 /Zc:inline /Zc:__cplusplus /MP /LD /MD /W3 /Ox /D NDebug /D NDEBUG /D ZEND_WIN32_FORCE_INLINE /GF /D ZEND_DEBUG=0 /D ZTS=1 /I "C:\php-sdk\phpdev\vc15\x64\deps\include" /D FD_SETSIZE=256 /FoC:\php-sdk\phpdev\vc15\x64\php-src\x64\Release_TS\main\ /FpC:\php-sdk\phpdev\vc15\x64\php-src\x64\Release_TS\main\ /FRC:\php-sdk\phpdev\vc15\x64\php-src\x64\Release_TS\main\ /FdC:\php-sdk\phpdev\vc15\x64\php-src\x64\Release_TS\main\ /D ZEND_ENABLE_STATIC_TSRMLS_CACHE=1 /c main\SAPI.c main\fopen_wrappers.c main\getopt.c main\internal_functions.c main\main.c main\mergesort.c main\network.c main\output.c main\php_content_types.c main\php_ini.c main\php_open_temporary_file.c main\php_scandir.c main\php_sprintf.c main\php_ticks.c main\php_variables.c main\reentrancy.c main\rfc1867.c main\snprintf.c main\spprintf.c main\strlcat.c main\strlcpy.c
    cl: 命令行 warning D9025 :正在重写“/w”(用“/W3”)
    cl: 命令行 warning D9025 :正在重写“/w”(用“/W3”)
    SAPI.c
    cl: 命令行 warning D9025 :正在重写“/w”(用“/W3”)
    cl: 命令行 warning D9025 :正在重写“/w”(用“/W3”)
    cl: 命令行 warning D9025 :正在重写“/w”(用“/W3”)
    fopen_wrappers.c
    getopt.c
    internal_functions.c
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(64): warning C4142: "pid_t": 类型的良性重定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\main\php.h(105): note: 参见“pid_t”的声明 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(65): error C2371: “key_t”: 重定义;不同的基类型 (编译源文件 main\internal_functions.c)
    .\win32/ipc.h(28): note: 参见“key_t”的声明 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(67): warning C4005: “getpid”: 宏重定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\main\php.h(122): note: 参见“getpid”的前一个定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(95): warning C4005: “vsnprintf”: 宏重定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\main\snprintf.h(113): note: 参见“vsnprintf”的前一个定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(101): warning C4005: “STDOUT_FILENO”: 宏重定义 (编译源文件 main\internal_functions.c)
    main\config.w32.h(39): note: 参见“STDOUT_FILENO”的前一个定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(102): warning C4005: “STDERR_FILENO”: 宏重定义 (编译源文件 main\internal_functions.c)
    main\config.w32.h(40): note: 参见“STDERR_FILENO”的前一个定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(121): warning C4005: “R_OK”: 宏重定义 (编译源文件 main\internal_functions.c)
    Zend\zend_virtual_cwd.h(169): note: 参见“R_OK”的前一个定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(122): warning C4005: “W_OK”: 宏重定义 (编译源文件 main\internal_functions.c)
    Zend\zend_virtual_cwd.h(166): note: 参见“W_OK”的前一个定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(123): warning C4005: “X_OK”: 宏重定义 (编译源文件 main\internal_functions.c)
    Zend\zend_virtual_cwd.h(172): note: 参见“X_OK”的前一个定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(124): warning C4005: “F_OK”: 宏重定义 (编译源文件 main\internal_functions.c)
    Zend\zend_virtual_cwd.h(175): note: 参见“F_OK”的前一个定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(126): warning C4005: “SHUT_RD”: 宏重定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\main\php_network.h(85): note: 参见“SHUT_RD”的前一个定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(127): warning C4005: “SHUT_WR”: 宏重定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\main\php_network.h(86): note: 参见“SHUT_WR”的前一个定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(128): warning C4005: “SHUT_RDWR”: 宏重定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\main\php_network.h(87): note: 参见“SHUT_RDWR”的前一个定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(170): warning C4142: "pid_t": 类型的良性重定义 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(64): note: 参见“pid_t”的声明 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(172): error C2143: 语法错误: 缺少“)”(在“*”的前面) (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(172): error C2143: 语法错误: 缺少“{”(在“*”的前面) (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(172): error C2059: 语法错误:“)” (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(181): error C2146: 语法错误: 缺少“;”(在标识符“clone_p”的前面) (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(181): warning C4550: 表达式计算为缺少参数列表的函数 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(181): error C2065: “clone_p”: 未声明的标识符 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(183): error C2065: “NTSTATUS”: 未声明的标识符 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(183): error C2146: 语法错误: 缺少“;”(在标识符“result”的前面) (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(183): error C2065: “result”: 未声明的标识符 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(189): error C2065: “clone_p”: 未声明的标识符 (编译源文件 main\internal_functions.c)
    c:\php-sdk\phpdev\vc15\x64\php-src\ext\swoole\include\win.h(189): warning C4047: “=”:“int”与“int *(__cdecl *)(ULONG,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,HANDLE,PRTL_USER_PROCESS_INFORMATION)”的间接级别不 同 (编译源文件 main\internal_functions.c)
    

  • 踏浪

    $ configure "--enable-swoole=shared --disable-all --enable-cli" -bash: configure: 未找到命令