Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SAPI embed Support on Windows #442

Open
TenHian opened this issue May 7, 2024 · 2 comments
Open

SAPI embed Support on Windows #442

TenHian opened this issue May 7, 2024 · 2 comments
Labels
enhancement New feature or request help wanted Extra attention is needed kind/php-src Issues related to php source os/windows Things only for Windows

Comments

@TenHian
Copy link

TenHian commented May 7, 2024

I've noticed that embed SAPI on Win is on TODO list. However, its 4 mouths ago. What are the current bottlenecks encountered with this feature? What is the current implementation plan? What attempts have been made? Any guidance information beyond that?

@crazywhalecc crazywhalecc added enhancement New feature or request help wanted Extra attention is needed kind/php-src Issues related to php source os/windows Things only for Windows labels May 7, 2024
@crazywhalecc
Copy link
Owner

The main reason is that I'm not very good at Windows OS build and Visual Studio and currently I mainly update Linux and macOS. Windows maintenance will be slower. For embed SAPI on Windows, it would be great if someone could initiate a PR or guidance for us to start.

@jingjingxyk
Copy link
Contributor

jingjingxyk commented May 8, 2024

可以借助 MSYS2 环境 和 CMD 环境 进行构建

  1. MSYS2 环境 用于下载软件 (msys2 集成了 Mingw 和 Cygwin ,同时还提供了包管理工具 pacman)
  2. CMD 环境 安装Visual Studio
  3. CMD 环境 执行编译

msys2 环境下载软件

  1. 下载 msys2 msys2

    浏览器打开,自动给下载 msys2: https://mirror.msys2.org/distrib/x86_64/msys2-x86_64-20240507.exe

  2. 安装 msys2

    双击 msys2-x86_64-20240507.exe 进行安装

  3. msys2安装软件

     pacman -Syy --noconfirm git curl
  4. msys2 环境下使用curl 下载软件

    # 下载 vs2022 
    
    # 方式一
    curl -Lo VisualStudioSetup.exe 'https://c2rsetup.officeapps.live.com/c2r/downloadVS.aspx?sku=community&channel=Release&version=VS2022'
    # 方式二
    curl -Lo VisualStudioSetup.exe 'https://aka.ms/vs/17/release/vs_community.exe'
    
    # 下载 php 源码
    git clone -b php-8.3.6     --depth=1 https://github.com/php/php-src.git
    
    # 下载 php-sdk for windows 
    # git clone -b php-sdk-2.2.0 --depth=1 https://github.com/php/php-sdk-binary-tools.git
    git clone -b master --depth=1 https://github.com/php/php-sdk-binary-tools.git
    

CMD 环境 安装VisualStudio

  1. 使用命令行参数安装、更新和管理 Visual Studio
  2. Visual Studio 生成工具组件目录

使用命令行快速安装 VisualStudio 组件

cd c:\msys64\home\Administrator\

VisualStudioSetup.exe ^
--locale en-US ^
--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 ^
--add Microsoft.Component.MSBuild ^
--add Microsoft.VisualStudio.Component.Roslyn.Compiler ^
--add Microsoft.Component.MSBuild ^
--add Microsoft.VisualStudio.Component.CoreBuildTools ^
--add Microsoft.VisualStudio.Workload.MSBuildTools ^
--add Microsoft.VisualStudio.Component.Windows11SDK.22000   ^
--add Microsoft.VisualStudio.Component.Windows10SDK.20348	^
--add Microsoft.VisualStudio.Component.Windows10SDK ^
--passive  --force --norestart

CMD 环境 编译构建

cd c:\msys64\home\Administrator\php-sdk-binary-tools
phpsdk-vs17-x64.bat


cd c:\msys64\home\Administrator\php-src
buildconf
configure --help 
configure --disable-all --enable-cli --enable-static=yes --enable-shared=no 
nmake


x64\Release_TS\php.exe -v
x64\Release_TS\php.exe -m

参考文档

  1. 通过命令行使用 MSVC 工具集
  2. 通过命令行使用 MSBuild
  3. Windows SDK
  4. windows 环境下 构建 php 步骤
  5. VisualStudio 导入或导出安装配置
  6. Visual Studio 2019 版本 16.11 发行说明
  7. Visual Studio 2022 版本 17.9 发行说明

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed kind/php-src Issues related to php source os/windows Things only for Windows
Projects
None yet
Development

No branches or pull requests

3 participants