Skip to content

Commit 9f9ac1d

Browse files
authored
Merge pull request #905 from jingjingxyk/build_native_php
Build native php
2 parents 9ed9550 + 8ebc0aa commit 9f9ac1d

30 files changed

+194
-260
lines changed

.github/workflows/artifact-hash.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ jobs:
3838
- name: upload artifacts to cloud object storage
3939
if: ${{ 0 && (github.repository == 'swoole/swoole-cli') && (inputs.enable_upload_cloud_object_storage == true) }}
4040
env:
41-
SECRET_ID: ${{ secrets.QCLOUD_OSS_SECRET_ID }}
42-
SECRET_KEY: ${{ secrets.QCLOUD_OSS_SECRET_KEY }}
41+
OSS_SECRET_ID: ${{ secrets.QCLOUD_OSS_SECRET_ID }}
42+
OSS_SECRET_KEY: ${{ secrets.QCLOUD_OSS_SECRET_KEY }}
43+
OSS_BUCKET: ${{ vars.QCLOUD_OSS_BUCKET }}
44+
OSS_REGION: ${{ vars.QCLOUD_OSS_REGION }}
4345
run: |
4446
bash sapi/scripts/tencent-cloud-object-storage.sh --upload-all --swoole-cli-version ${{ inputs.version }}
4547

.github/workflows/linux-aarch64.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,9 @@ jobs:
206206
- name: upload artifacts to cloud object storage
207207
if: ${{ 0 && (github.repository == 'swoole/swoole-cli') && (startsWith(github.ref, 'refs/tags/')) }}
208208
env:
209-
SECRET_ID: ${{ secrets.QCLOUD_OSS_SECRET_ID }}
210-
SECRET_KEY: ${{ secrets.QCLOUD_OSS_SECRET_KEY }}
209+
OSS_SECRET_ID: ${{ secrets.QCLOUD_OSS_SECRET_ID }}
210+
OSS_SECRET_KEY: ${{ secrets.QCLOUD_OSS_SECRET_KEY }}
211+
OSS_BUCKET: ${{ vars.QCLOUD_OSS_BUCKET }}
212+
OSS_REGION: ${{ vars.QCLOUD_OSS_REGION }}
211213
run: |
212214
bash sapi/scripts/tencent-cloud-object-storage.sh --upload-file ${{ github.workspace }}/swoole-cli-v${{ env.APP_VERSION }}-linux-arm64.tar.xz

.github/workflows/linux-x86_64.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -241,8 +241,10 @@ jobs:
241241
- name: upload artifacts to cloud object storage
242242
if: ${{ 0 && (github.repository == 'swoole/swoole-cli') && (startsWith(github.ref, 'refs/tags/')) }}
243243
env:
244-
SECRET_ID: ${{ secrets.QCLOUD_OSS_SECRET_ID }}
245-
SECRET_KEY: ${{ secrets.QCLOUD_OSS_SECRET_KEY }}
244+
OSS_SECRET_ID: ${{ secrets.QCLOUD_OSS_SECRET_ID }}
245+
OSS_SECRET_KEY: ${{ secrets.QCLOUD_OSS_SECRET_KEY }}
246+
OSS_BUCKET: ${{ vars.QCLOUD_OSS_BUCKET }}
247+
OSS_REGION: ${{ vars.QCLOUD_OSS_REGION }}
246248
run: |
247249
bash sapi/scripts/tencent-cloud-object-storage.sh --upload-file ${{ github.workspace }}/swoole-cli-v${{ env.APP_VERSION }}-linux-x64.tar.xz
248250

.github/workflows/macos-aarch64.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,9 @@ jobs:
173173
- name: upload artifacts to cloud object storage
174174
if: ${{ 0 && (github.repository == 'swoole/swoole-cli') && (startsWith(github.ref, 'refs/tags/')) }}
175175
env:
176-
SECRET_ID: ${{ secrets.QCLOUD_OSS_SECRET_ID }}
177-
SECRET_KEY: ${{ secrets.QCLOUD_OSS_SECRET_KEY }}
176+
OSS_SECRET_ID: ${{ secrets.QCLOUD_OSS_SECRET_ID }}
177+
OSS_SECRET_KEY: ${{ secrets.QCLOUD_OSS_SECRET_KEY }}
178+
OSS_BUCKET: ${{ vars.QCLOUD_OSS_BUCKET }}
179+
OSS_REGION: ${{ vars.QCLOUD_OSS_REGION }}
178180
run: |
179181
bash sapi/scripts/tencent-cloud-object-storage.sh --upload-file ${{ github.workspace }}/swoole-cli-v${{ env.APP_VERSION }}-macos-arm64.tar.xz

.github/workflows/macos-x86_64.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,9 @@ jobs:
184184
- name: upload artifacts to cloud object storage
185185
if: ${{ 0 && (github.repository == 'swoole/swoole-cli') && (startsWith(github.ref, 'refs/tags/')) }}
186186
env:
187-
SECRET_ID: ${{ secrets.QCLOUD_OSS_SECRET_ID }}
188-
SECRET_KEY: ${{ secrets.QCLOUD_OSS_SECRET_KEY }}
187+
OSS_SECRET_ID: ${{ secrets.QCLOUD_OSS_SECRET_ID }}
188+
OSS_SECRET_KEY: ${{ secrets.QCLOUD_OSS_SECRET_KEY }}
189+
OSS_BUCKET: ${{ vars.QCLOUD_OSS_BUCKET }}
190+
OSS_REGION: ${{ vars.QCLOUD_OSS_REGION }}
189191
run: |
190192
bash sapi/scripts/tencent-cloud-object-storage.sh --upload-file ${{ github.workspace }}/swoole-cli-v${{ env.APP_VERSION }}-macos-x64.tar.xz

.github/workflows/windows-cygwin.yml

+6-2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ jobs:
3838
git config --global core.autocrlf false
3939
git config --global core.eol lf
4040
git config --global core.ignorecase false
41+
git config --global --add safe.directory ${{ github.workspace }}
42+
ipconfig
4143
4244
- uses: actions/checkout@v4
4345
- name: set php version
@@ -180,8 +182,10 @@ jobs:
180182
- name: upload artifacts to cloud object storage
181183
if: ${{ 0 && (github.repository == 'swoole/swoole-cli') && (startsWith(github.ref, 'refs/tags/')) }}
182184
env:
183-
SECRET_ID: ${{ secrets.QCLOUD_OSS_SECRET_ID }}
184-
SECRET_KEY: ${{ secrets.QCLOUD_OSS_SECRET_KEY }}
185+
OSS_SECRET_ID: ${{ secrets.QCLOUD_OSS_SECRET_ID }}
186+
OSS_SECRET_KEY: ${{ secrets.QCLOUD_OSS_SECRET_KEY }}
187+
OSS_BUCKET: ${{ vars.QCLOUD_OSS_BUCKET }}
188+
OSS_REGION: ${{ vars.QCLOUD_OSS_REGION }}
185189
run: |
186190
FILE_NAME=$(ls -d swoole-cli-v*-cygwin-x64)
187191
FILE="${{ github.workspace }}/${FILE_NAME}/${FILE_NAME}.zip"

sapi/musl-cross-make/config.mak

-91
This file was deleted.

sapi/quickstart/build-native-php-example.sh

+6-17
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
#!/bin/env bash
22
set -uex
33

4-
54
OS=$(uname -s)
65
ARCH=$(uname -m)
76

8-
97
export CC=clang
108
export CXX=clang++
119
export LD=ld.lld
1210

13-
if [ "$OS" = 'Linux' ] ;then
11+
if [ "$OS" = 'Linux' ]; then
1412

15-
: <<'EOF'
13+
: <<'EOF'
1614
# setup container environment
1715
1816
docker run --rm -ti --init -v .:/work -w /work debian:11
@@ -24,15 +22,12 @@ EOF
2422

2523
fi
2624

25+
if [ "$OS" = 'Darwin' ]; then
2726

28-
if [ "$OS" = 'Darwin' ] ;then
29-
30-
export PATH=/usr/local/opt/bison/bin/:/usr/local/opt/llvm/bin/:$PATH
27+
export PATH=/usr/local/opt/bison/bin/:/usr/local/opt/llvm/bin/:$PATH
3128

3229
fi
3330

34-
35-
3631
mkdir -p /tmp/t
3732
cd /tmp/t
3833

@@ -53,10 +48,6 @@ tar --strip-components=1 -C mongodb -xf mongodb-${MONGODB_VERSION}.tgz
5348
test -d php-src/ext/mongodb && rm -rf php-src/ext/mongodb
5449
mv mongodb php-src/ext/
5550

56-
57-
58-
59-
6051
cd php-src
6152

6253
./buildconf --force
@@ -83,13 +74,11 @@ cd php-src
8374

8475
make -j $(nproc)
8576

86-
87-
if [ "$OS" = 'Linux' ] ;then
77+
if [ "$OS" = 'Linux' ]; then
8878

8979
file sapi/cli/php
9080
readelf -h sapi/cli/php
9181

9282
else
93-
otool -L sapi/cli/php
83+
otool -L sapi/cli/php
9484
fi
95-

sapi/quickstart/linux/arm64/README.md

+8-13
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
1-
# x86_64 运行 arm64
2-
> 使用 qemu-user-static 实现
1+
# `x86_64` 平台模拟 `arm64`
32

4-
## 参考文档
5-
qemu
6-
https://www.qemu.org/
7-
https://github.com/qemu/qemu.git
8-
9-
qemu-user-static
10-
https://github.com/multiarch/qemu-user-static.git
3+
使用 `qemu-user-static` 实现
114

12-
x86 平台利用 qemu-user-static 实现 arm64 平台 docker 镜像的运行和构建
13-
https://www.cnblogs.com/chen2ha/p/17180287.html
5+
## 参考文档
146

15-
Docker在x86架构的物理机上跑Qemu-arm 容器
16-
https://blog.csdn.net/sunSHINEEzy/article/details/80015638
7+
- [qemu 官网](https://www.qemu.org/)
8+
- [qemu GitHub](https://github.com/qemu/qemu.git)
9+
- [qemu-user-static](https://github.com/multiarch/qemu-user-static.git)
10+
- [x86 平台利用 qemu-user-static 实现 arm64 平台 docker 镜像的运行和构建](https://www.cnblogs.com/chen2ha/p/17180287.html)
11+
- [Docker在x86架构的物理机上跑Qemu-arm 容器](https://blog.csdn.net/sunSHINEEzy/article/details/80015638)
1712

1813

sapi/quickstart/linux/extra/README.md

+13-12
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,32 @@
1-
#
1+
# 常见问题
22

3-
## 当环境中没有 PHP 解释器时 可以快速安装 PHP 解释器
3+
## 快速安装 `PHP` 解释器
44

5-
```bash
6-
7-
# alpine
5+
### Alpine
86

9-
sh sapi/quickstart/linux/extra/alpine-php-init.sh
7+
```bash
8+
sh sapi/quickstart/linux/extra/alpine-php-init.sh
9+
```
1010

11-
## debian
11+
### Debian/Ubuntu
1212

13+
```bash
1314
bash sapi/quickstart/linux/extra/debian-php-init.sh
14-
1515
```
1616

17-
## download composer
17+
## 安装 `Composer`
1818

1919
```bash
20+
2021
curl -Lo /usr/local/bin/composer.phar https://getcomposer.org/download/latest-stable/composer.phar
2122

2223
ln -sf /usr/local/bin/composer.phar /usr/local/bin/composer
2324
chmod a+x /usr/local/bin/composer
2425

2526
```
2627

27-
## c c++编译器 组合
28+
## `C/C++` 编译器组合
2829

29-
- 组合一 clang clang++
30-
- 组合二 gcc g++
30+
- `clang` + `clang++`
31+
- `gcc` + `g++`
3132

sapi/quickstart/linux/install-docker-compose.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ if [ ! -f /usr/libexec/docker/cli-plugins/docker-compose ]; then
2424

2525
# show more version info
2626
# https://github.com/docker/compose/releases
27-
VERSION="v2.29.1"
27+
VERSION="v2.32.1"
2828

2929
curl -fsSL "https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
3030

sapi/quickstart/linux/install-docker.sh

+6-6
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ while [ $# -gt 0 ]; do
2828
shift $(($# > 0 ? 1 : 0))
2929
done
3030

31-
3231
# https://github.com/docker/docker-install.git
3332
# test -f get-docker.sh || curl -fsSL https://get.docker.com -o get-docker.sh
3433

@@ -41,14 +40,15 @@ china | ustc | tuna)
4140
;;
4241
esac
4342

44-
4543
if [ -n "$http_proxy" ] || [ -n "$https_proxy" ] || [ -n "$HTTP_PROXY" ] || [ -n "$HTTPS_PROXY" ]; then
46-
echo 'Please delete proxy settings !'
47-
echo 'Execute this script again !'
48-
exit 0
44+
set +u
45+
unset http_proxy
46+
unset https_proxy
47+
unset HTTP_PROXY
48+
unset HTTPS_PROXY
49+
set -u
4950
fi
5051

51-
5252
case "$MIRROR" in
5353
china | ustc)
5454
sed -i "s@https://mirrors.aliyun.com/docker-ce@https://mirrors.ustc.edu.cn/docker-ce@g" get-docker.sh

sapi/quickstart/linux/run-alpine-container-full.sh

+2-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ cd ${__DIR__}
1313

1414
{
1515
docker stop swoole-cli-alpine-dev
16-
docker stop swoole-cli-builder
1716
sleep 5
1817
} || {
1918
echo $?
@@ -75,7 +74,7 @@ cd ${__DIR__}
7574
if [ $DEV_SHM -eq 1 ]; then
7675
mkdir -p /dev/shm/swoole-cli/thirdparty/
7776
mkdir -p /dev/shm/swoole-cli/ext/
78-
docker run --rm --name swoole-cli-builder -d -v ${__PROJECT__}:/work -v /dev/shm/swoole-cli/thirdparty/:/work/thirdparty/ -v /dev/shm/swoole-cli/ext/:/work/ext/ -w /work --init $IMAGE tail -f /dev/null
77+
docker run --rm --name swoole-cli-alpine-dev -d -v ${__PROJECT__}:/work -v /dev/shm/swoole-cli/thirdparty/:/work/thirdparty/ -v /dev/shm/swoole-cli/ext/:/work/ext/ -w /work --init $IMAGE tail -f /dev/null
7978
else
80-
docker run --rm --name swoole-cli-builder -d -v ${__PROJECT__}:/work -w /work --init $IMAGE tail -f /dev/null
79+
docker run --rm --name swoole-cli-alpine-dev -d -v ${__PROJECT__}:/work -w /work --init $IMAGE tail -f /dev/null
8180
fi

0 commit comments

Comments
 (0)