Skip to content

update

update #153

name: build-php-cli-windows-2019
on:
push:
pull_request:
env:
BUILD_PHP_VERSION: 8.2.13
jobs:
windows-native:
if: 0
runs-on: windows-2019
strategy:
matrix:
php-version:
# - "8.2.13"
# - "8.1.27"
- "8.3.7"
steps:
- uses: actions/checkout@v4
- uses: ilammy/[email protected]
with:
arch: amd64
- name: show environment info
run: |
git config --global core.autocrlf false
git config --global core.eol lf
env
ipconfig
uname -a
pwd
ipconfig /all
echo "BUILD_PHP_VERSION=${{ matrix.php-version }}" >> $Env:GITHUB_ENV
- uses: msys2/setup-msys2@v2
with:
install: >-
curl git zip unzip tar xz
- name: prepare build environment and download source code
shell: msys2 {0}
run: |
CURRENT_DIR=$(pwd)
echo $CURRENT_DIR
# bash setup-php-runtime.sh
bash sapi/download-box/download-box-get-archive-from-server.sh
curl -Lo php-8.2.19-nts-Win32-vs16-x64.zip https://windows.php.net/downloads/releases/php-8.2.19-nts-Win32-vs16-x64.zip
unzip -d php php-8.2.19-nts-Win32-vs16-x64.zip
pwd
cp -f php/php.ini-production php/php.ini
mkdir -p bin/runtime/
curl -Lo bin/runtime/composer.phar https://getcomposer.org/download/latest-stable/composer.phar
export PATH=$PATH:${CURRENT_DIR}/php/
echo 'extension_dir="${{ github.workspace }}\php\ext" ' >> php/php.ini
echo 'extension=php_curl.dll' >> php/php.ini
echo 'extension=php_bz2.dll' >> php/php.ini
echo 'extension=php_openssl.dll' >> php/php.ini
echo 'extension=php_fileinfo.dll' >> php/php.ini
php -v
php -m
php bin/runtime/composer.phar install --no-interaction --no-autoloader --no-scripts --profile --ignore-platform-req=ext-posix --ignore-platform-req=ext-yaml
php bin/runtime/composer.phar dump-autoload --optimize --profile --ignore-platform-req=ext-posix --ignore-platform-req=ext-yaml
php prepare.php --without-docker=1 --skip-download=1 --with-libavif=1 +uuid +apcu +ds +xlswriter +ssh2
ls -lh var/download-box/
bash var/download-box/download_library_use_script_for_windows.sh
bash var/download-box/download_library_use_git.sh
bash sapi/download-box/download-box-dependencies-sync.sh
bash var/download-box/extract-files.sh
git clone -b master --depth=1 https://github.com/php/php-sdk-binary-tools.git
git clone -b php-${{ env.BUILD_PHP_VERSION }} --depth=1 https://github.com/php/php-src.git
cp -rf ext/* php-src/ext/
ls -lh php-src/ext/
# https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/
curl -Lo nasm-2.16.03-win64.zip https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/win64/nasm-2.16.03-win64.zip
unzip -d nasm nasm-2.16.03-win64.zip
ls -lh nasm
curl -Lo strawberry-perl-5.38.2.2-64bit.msi https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_53822_64bit/strawberry-perl-5.38.2.2-64bit.msi
dir
- name: Install Soft And Set Github ENV variables
run: |
# 命令行静默安装 msi
# msiexec /i strawberry-perl-5.38.2.2-64bit.msi /quiet
msiexec /i strawberry-perl-5.38.2.2-64bit.msi /passive
$CURRENT_DIR = Get-Location
$X_PATH="$CURRENT_DIR\nasm\nasm-2.16.03\;$CURRENT_DIR\php\;$env:PATH"
echo $X_PATH
echo "PATH=$X_PATH" >> $Env:GITHUB_ENV
# Get-WmiObject –class Win32_processor | ft NumberOfCores,NumberOfLogicalProcessors
#
# - name: show PHPSDK env
# shell: cmd
# run: |
#
# : set PATH=%cd%\swoole-cli-v5.0.3-cygwin-x64\bin\;%PATH%
#
# : swoole-cli.exe /cygdrive/d/a/swoole-cli/swoole-cli/swoole-cli-v5.0.3-cygwin-x64/bin/composer.phar config -g repos.packagist composer https://packagist.org
# : swoole-cli.exe /cygdrive/d/a/swoole-cli/swoole-cli/swoole-cli-v5.0.3-cygwin-x64/bin/composer.phar update --prefer-dist -vvv --profile --no-dev
# : swoole-cli.exe /cygdrive/d/a/swoole-cli/swoole-cli/swoole-cli-v5.0.3-cygwin-x64/bin/composer.phar update --prefer-source -vvv --profile --no-dev
#
# : swoole-cli.exe prepare.php --without-docker=1 --skip-download=1
#
# : 本命令无效 ,只是为了看输出
# call php-sdk-binary-tools\phpsdk-vs16-x64.bat
# - name: "Install PHP for official runners"
# uses: "shivammathur/setup-php@v2"
# with:
# coverage: none
# tools: composer:v2
# php-version: 8.2
# ini-values: memory_limit=-1
#
- name: Set PHPSDK Github ENV variables
run: |
echo "PHP_SDK_ARCH=x64" >> $Env:GITHUB_ENV
echo "PHP_SDK_BIN_PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\bin" >> $Env:GITHUB_ENV
echo "PHP_SDK_MSYS2_PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\msys2\usr\bin" >> $Env:GITHUB_ENV
echo "PHP_SDK_OS_ARCH=x64" >> $Env:GITHUB_ENV
echo "PHP_SDK_PHP_CMD=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\bin\php\do_php.bat" >> $Env:GITHUB_ENV
echo "PHP_SDK_ROOT_PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools" >> $Env:GITHUB_ENV
echo "PHP_SDK_VC_DIR=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC" >> $Env:GITHUB_ENV
echo "PHP_SDK_VC_TOOLSET_VER=$env:VCToolsVersion" >> $Env:GITHUB_ENV
echo "PHP_SDK_VS=vs17" >> $Env:GITHUB_ENV
echo "PHP_SDK_VS_NUM=17" >> $Env:GITHUB_ENV
echo "PHP_SDK_VS_SHELL_CMD=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat amd64" >> $Env:GITHUB_ENV
$CURRENT_DIR = Get-Location
$X_PATH="${CURRENT_DIR}\php-sdk-binary-tools\bin;${CURRENT_DIR}\php-sdk-binary-tools\msys2\usr\bin;$env:PATH"
echo $X_PATH
echo "PATH=$X_PATH" >> $Env:GITHUB_ENV
- name: build all library
shell: cmd
run: |
echo %cd%
perl -v
nasm -v
cmd /c sapi\quickstart\windows\native\zlib.bat
cmd /c sapi\quickstart\windows\native\openssl.bat
- name: build php
run: |
$CURRENT_DIR = Get-Location
cd php-src
cmd /c buildconf
cmd /c configure --help
cmd /c ${CURRENT_DIR}\sapi\quickstart\windows\build-native-php.bat
cd ${CURRENT_DIR}\
php-src\x64\Release_TS\php.exe -v
php-src\x64\Release_TS\php.exe -m
- name: test set env in cmd
if: 0
shell: cmd
run: |
: 脚本所在目录
echo %cd%
SET CURRENT_DIR=%cd%
: set PATH=%cd%\swoole-cli-v5.0.3-cygwin-x64\bin\;%PATH%
: swoole-cli.exe -v
set PHP_SDK_ARCH=x64
set PHP_SDK_BIN_PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\bin
set PHP_SDK_MSYS2_PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\msys2\usr\bin
set PHP_SDK_OS_ARCH=x64
set PHP_SDK_PHP_CMD=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\bin\php\do_php.bat
set PHP_SDK_ROOT_PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools
set "PHP_SDK_VC_DIR=C:\Program Files\Microsoft Visual Studio\2019\Enterprise\VC"
set "PHP_SDK_VC_TOOLSET_VER=%VCToolsVersion%"
set PHP_SDK_VS=vs16
set PHP_SDK_VS_NUM=16
set "PHP_SDK_VS_SHELL_CMD=C:\Program Files\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat amd64"
set PATH=%cd%\php\;%PATH%
set "PATH=D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\bin;D:\a\swoole-cli\swoole-cli\php-sdk-binary-tools\msys2\usr\bin;%PATH%"
echo %PATH%
cd %CURRENT_DIR%
echo %cd%
cd php-src
call buildconf
call configure --help
call configure --disable-all --disable-cgi --enable-cli --enable-sockets --enable-mbstring --enable-ctype --enable-pdo --enable-phar --enable-xmlreader --enable-xmlwriter --enable-zlib
call nmake
D:\a\swoole-cli\swoole-cli\php-src\x64\Release_TS\php.exe -v
D:\a\swoole-cli\swoole-cli\php-src\x64\Release_TS\php.exe -m