Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
da99e1d
Merge pull request #986 from jingjingxyk/experiment-feature
jingjingxyk Jul 21, 2025
5736711
Merge pull request #993 from jingjingxyk/experiment-feature
jingjingxyk Aug 22, 2025
370252d
Merge pull request #998 from jingjingxyk/experiment-feature
jingjingxyk Aug 24, 2025
888113c
更新 下载swoole-cli 地址 (#997)
jingjingxyk Aug 25, 2025
e3e2a06
Fix upload tencent cos (#1000)
jingjingxyk Aug 27, 2025
97537e5
Feature changelog (#1003)
jingjingxyk Sep 2, 2025
a2eaf31
swoole version v6.1.0-rc1 (#1002)
jingjingxyk Sep 2, 2025
ea4268f
Remove RFC link from README.md
matyhtf Sep 3, 2025
ad5283e
Update url of freetype, The sourceforge.net is unavailable
matyhtf Sep 3, 2025
9b0a533
freetype 构建使用cmake (#1004)
jingjingxyk Sep 9, 2025
46e5d3a
merge code
jingjingxyk Sep 19, 2025
78a02a4
merge code
jingjingxyk Sep 19, 2025
4dd7154
Merge pull request #1005 from jingjingxyk/experiment-feature
jingjingxyk Sep 19, 2025
f45ddad
Add CXXFLAGS and CFLAGS environment variable code to remove duplicate…
jingjingxyk Oct 27, 2025
46880f6
upgrade macos runner os version (#1007)
jingjingxyk Oct 27, 2025
55720e7
Fix swoole odbc (#1011)
jingjingxyk Oct 29, 2025
0885e23
upgrade swoole version to v6.1.0 (#1009)
jingjingxyk Oct 29, 2025
1b3fe37
disable msys2 environment (#1010)
jingjingxyk Oct 29, 2025
4e6b476
修复 macos 环境下 libpq构建错误 (#1014)
jingjingxyk Oct 31, 2025
1059209
Fix incorrect php syntax
matyhtf Oct 31, 2025
53ca8ea
Upgrade php to 8.4.14
matyhtf Oct 31, 2025
4cfb31e
Upgrade php to 8.4.14 [2]
matyhtf Oct 31, 2025
954f7dd
Upgrade php to 8.4.14 [3]
matyhtf Oct 31, 2025
f9a90ee
merge code
jingjingxyk Oct 31, 2025
6ae8ea3
Remove the modification to cli_http_server, no longer maintain this m…
matyhtf Oct 31, 2025
ccb2e0b
Upgrade php to 8.4.14 [4]
matyhtf Oct 31, 2025
7c85baa
add ext/random
matyhtf Oct 31, 2025
8d27e34
Upgrade php to 8.4.14 [5]
matyhtf Oct 31, 2025
a0ea882
test swoole
jingjingxyk Oct 31, 2025
e5002ec
Upgrade ext-redis to 6.2.0
matyhtf Oct 31, 2025
7da8ba6
Upgrade ext-imagick to 3.8.0
matyhtf Oct 31, 2025
2bb515e
Added `skip-hash-verify` option
matyhtf Oct 31, 2025
0c96528
Ignore `ext/swoole` dir
matyhtf Oct 31, 2025
ab53eb5
Fix
matyhtf Oct 31, 2025
a882252
Add gcc compilation script for linux system
matyhtf Oct 31, 2025
ff25cb7
Update sync-source-code.php
matyhtf Oct 31, 2025
ee51bf8
swoole 源码打包 剔除 .git 目录 (#1016)
jingjingxyk Oct 31, 2025
ece3697
Sync .gdbinit
matyhtf Oct 31, 2025
2750251
Merge remote-tracking branch 'origin/main'
matyhtf Oct 31, 2025
63db5bb
优化 导入 SWOOLE_ODBC_LIBS 变量 (#1013)
jingjingxyk Oct 31, 2025
f5e8285
Update hash of php-8.4.14.tar.gz
matyhtf Oct 31, 2025
0341156
Merge remote-tracking branch 'origin/main'
matyhtf Oct 31, 2025
219be5c
升级cygwin 环境下的redis imagick 扩展的版本 (#1018)
jingjingxyk Oct 31, 2025
1071648
macos 使用系统内置clang 编译器
jingjingxyk Nov 5, 2025
ce1b38e
升级 curl openssl libidn2 nghttp2 nghttp3 libssh2 ,新增libpsl
jingjingxyk Nov 5, 2025
b341fc5
update gmp build config
jingjingxyk Nov 5, 2025
98343df
update ngtcp2 build config
jingjingxyk Nov 5, 2025
732dbb5
update unix_odbc build config
jingjingxyk Nov 5, 2025
5e616f9
update unixodbc build config
jingjingxyk Nov 6, 2025
9faa0ae
执行升级为8.4.14
jingjingxyk Nov 8, 2025
c5e2213
merge code
jingjingxyk Nov 9, 2025
1f83ef0
fix merge code conflict
jingjingxyk Nov 9, 2025
7610933
merge code
jingjingxyk Nov 9, 2025
ad40cb8
解决合并冲突
jingjingxyk Nov 9, 2025
b28afc9
解决合并冲突
jingjingxyk Nov 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 40 additions & 30 deletions .gdbinit
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ define print_cvs

printf "Compiled variables count: %d\n\n", $cv_count
while $cv_idx < $cv_count
printf "[%d] '%s'\n", $cv_idx, $cv[$cv_idx].val
printf "[%d] '$%s'\n", $cv_idx, $cv[$cv_idx].val@$cv[$cv_idx].len
set $zvalue = ((zval *) $cv_ex_ptr) + $callFrameSize + $cv_idx
printzv $zvalue
set $cv_idx = $cv_idx + 1
Expand All @@ -66,18 +66,18 @@ define dump_bt
if $func
if $ex->This->value.obj
if $func->common.scope
printf "%s->", $func->common.scope->name->val
printf "%s->", (char*)$func->common.scope->name->val
else
printf "%s->", $ex->This->value.obj->ce.name->val
printf "%s->", (char*)$ex->This->value.obj->ce.name->val
end
else
if $func->common.scope
printf "%s::", $func->common.scope->name->val
printf "%s::", (char*)$func->common.scope->name->val
end
end

if $func->common.function_name
printf "%s(", $func->common.function_name->val
printf "%s(", (char*)$func->common.function_name->val
else
printf "(main"
end
Expand Down Expand Up @@ -109,7 +109,7 @@ define dump_bt
printf "%f", $zvalue->value.dval
end
if $type == 6
____print_str $zvalue->value.str->val $zvalue->value.str->len
____print_str (char*)$zvalue->value.str->val $zvalue->value.str->len
end
if $type == 7
printf "array(%d)[%p]", $zvalue->value.arr->nNumOfElements, $zvalue
Expand All @@ -135,7 +135,7 @@ define dump_bt
end
if $func != 0
if $func->type == 2
printf "%s:%d ", $func->op_array.filename->val, $ex->opline->lineno
printf "%s:%d ", (char*)$func->op_array.filename->val, $ex->opline->lineno
else
printf "[internal function]"
end
Expand Down Expand Up @@ -186,7 +186,7 @@ define ____printzv_contents
printf "double: %f", $zvalue->value.dval
end
if $type == 6
printf "string: %s", $zvalue->value.str->val
printf "string: %s", (char*)$zvalue->value.str->val
end
if $type == 7
printf "array: "
Expand All @@ -208,7 +208,7 @@ define ____printzv_contents
set $handle = $zvalue->value.obj.handle
set $handlers = $zvalue->value.obj.handlers
set $zobj = $zvalue->value.obj
set $cname = $zobj->ce->name->val
set $cname = (char*)$zobj->ce->name->val
printf "(%s) #%d", $cname, $handle
if ! $arg1
if $handlers->get_properties == &zend_std_get_properties
Expand All @@ -233,7 +233,7 @@ define ____printzv_contents
set $name = $p->key
set $prop = (zend_property_info*)$p->val.value.ptr
set $val = (zval*)((char*)$zobj + $prop->offset)
printf "%s => ", $name->val
printf "%s => ", (char*)$name->val
printzv $val
set $k = $k + 1
end
Expand Down Expand Up @@ -318,7 +318,8 @@ define ____print_ht
set $n = $n - 1
end

if $ht->u.v.flags & 4
set $packed = $ht->u.v.flags & 4
if $packed
printf "Packed"
else
printf "Hash"
Expand All @@ -329,36 +330,45 @@ define ____print_ht
set $i = 0
set $ind = $ind + 1
while $i < $num
set $p = (Bucket*)($ht->arData + $i)
if $packed
set $val = (zval*)($ht->arPacked + $i)
set $key = (zend_string*)0
set $h = $i
else
set $bucket = (Bucket*)($ht->arData + $i)
set $val = &$bucket->val
set $key = $bucket->key
set $h = $bucket->h
end
set $n = $ind
if $p->val.u1.v.type > 0
if $val->u1.v.type > 0
while $n > 0
printf " "
set $n = $n - 1
end
printf "[%d] ", $i
if $p->key
____print_str $p->key->val $p->key->len
if $key
____print_str (char*)$key->val $key->len
printf " => "
else
printf "%d => ", $p->h
printf "%d => ", $h
end
if $arg1 == 0
printf "%p\n", (zval *)&$p->val
printf "%p\n", $val
end
if $arg1 == 1
set $zval = (zval *)&$p->val
set $zval = $val
____printzv $zval 1
end
if $arg1 == 2
printf "%s\n", (char*)$p->val.value.ptr
printf "%s\n", (char*)$val->value.ptr
end
if $arg1 == 3
set $func = (zend_function*)$p->val.value.ptr
printf "\"%s\"\n", $func->common.function_name->val
set $func = (zend_function*)$val->value.ptr
printf "\"%s\"\n", (char*)$func->common.function_name->val
end
if $arg1 == 4
set $const = (zend_constant *)$p->val.value.ptr
set $const = (zend_constant *)$val->value.ptr
____printzv $const 1
end
end
Expand Down Expand Up @@ -413,15 +423,15 @@ define ____print_inh_class
printf "final "
end
end
printf "class %s", $ce->name->val
printf "class %s", (char*)$ce->name->val
if $ce->parent != 0
printf " extends %s", $ce->parent->name->val
printf " extends %s", (char*)$ce->parent->name->val
end
if $ce->num_interfaces != 0
printf " implements"
set $tmp = 0
while $tmp < $ce->num_interfaces
printf " %s", $ce->interfaces[$tmp]->name->val
printf " %s", (char*)$ce->interfaces[$tmp]->name->val
set $tmp = $tmp + 1
if $tmp < $ce->num_interfaces
printf ","
Expand All @@ -433,10 +443,10 @@ end

define ____print_inh_iface
set $ce = $arg0
printf "interface %s", $ce->name->val
printf "interface %s", (char*)$ce->name->val
if $ce->num_interfaces != 0
set $ce = $ce->interfaces[0]
printf " extends %s", $ce->name->val
printf " extends %s", (char*)$ce->name->val
else
set $ce = 0
end
Expand Down Expand Up @@ -472,11 +482,11 @@ end

define print_pi
set $pi = (zend_property_info *)$arg0
set $initial_offset = ((uint32_t)(zend_uintptr_t)(&((zend_object*)0)->properties_table[(0)]))
set $initial_offset = ((uint32_t)(uintptr_t)(&((zend_object*)0)->properties_table[(0)]))
set $ptr_to_val = (zval*)((char*)$pi->ce->default_properties_table + $pi->offset - $initial_offset)
printf "[%p] {\n", $pi
printf " offset = %p\n", $pi->offset
printf " ce = [%p] %s\n", $pi->ce, $pi->ce->name->val
printf " ce = [%p] %s\n", $pi->ce, (char*)$pi->ce->name->val
printf " flags = 0x%x (", $pi->flags
if $pi->flags & 0x100
printf "ZEND_ACC_PUBLIC"
Expand Down Expand Up @@ -598,7 +608,7 @@ define print_zstr
set $maxlen = $zstr->len
end
printf "string(%d) ", $zstr->len
____print_str $zstr->val $zstr->len $maxlen
____print_str (char*)$zstr->val $zstr->len $maxlen
printf "\n"
end

Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/macos-aarch64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ env:

jobs:
macos-aarch64:
if: 1
runs-on: macos-14
runs-on: macos-15
# macos-latest (macos-14) 变更了 CPU 架构,由 x86_64 变更为 arm64
# macos-14 CPU 架构 arm64
# macos-13 CPU 架构 x86_64
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/macos-x86_64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ env:
jobs:
macos-x86_64:
if: 1
runs-on: macos-13
runs-on: macos-15-intel
# macos-latest (macos-14) 变更了 CPU 架构,由 x86_64 变更为 arm64
# macos-14 CPU 架构 arm64
# macos-13 CPU 架构 x86_64
Expand Down
9 changes: 0 additions & 9 deletions .github/workflows/windows-cygwin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,6 @@ jobs:
run: |
echo "BUILD_PHP_VERSION=${{ matrix.php-version }}" >> $GITHUB_ENV

- name: Cache cygwin packages
id: cache-cygwin
uses: actions/cache@v4
env:
cache-name: cache-cygwin-packages
with:
path: C:\cygwin-packages
key: "${{ runner.os }}-build-${{ env.cache-name }}"

- name: Cache pool
id: cache-cygwin-pool
uses: actions/cache@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows-msys2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
matrix:
php-version:
- "8.2.29"
- "8.1.33"
# - "8.1.33"
- "8.3.23"
- "8.4.10"
steps:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,7 @@ tmp-php.ini
/ext/inotify
/ext/swoole_tracker_agent
/ext/loader8
/ext/swoole
/ext/ds
/ext/xlswriter
/ext/uuid
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ curl -fSL https://github.com/swoole/build-static-php/blob/main/setup-php-cli-run
- [php-cli 构建选项文档](docs/options.md)
- [php-cli 搭建依赖库镜像服务](sapi/download-box/README.md)
- [quickstart](sapi/quickstart/README.md)
- [常见问题解答](https://github.com/swoole/swoole-cli/blob/main/docs/FAQ.md)

## Clone

Expand Down
34 changes: 34 additions & 0 deletions docs/ChangeLog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# [v6.1.0.0-rc1](https://github.com/swoole/swoole-cli/releases/tag/v6.1.0.0-rc1)

| item | value |
|----------------|--------------|
| branch | main |
| tag | v6.1.0.0-rc1 |
| swoole version | v6.1.0-rc1 |
| php version | 8.1.29 |
| release date | 2025-08-31 |
| status | ok |

## [change info](https://github.com/swoole/swoole-cli/compare/v6.0.2.0...v6.1.0.0-rc1)

1. swoole version v6.0.2.0 upgrade to
v6.1.0.0-rc1 , [swoole v6.1.0-rc1 info](https://github.com/swoole/swoole-src/releases/tag/v6.1.0-rc1)

# [v5.1.8.0](https://github.com/swoole/swoole-cli/releases/tag/v5.1.8.0)

| item | value |
|----------------|------------|
| branch | v5.1.x |
| tag | v5.1.8.0 |
| swoole version | v5.1.8 |
| php version | 8.1.29 |
| release date | 2025-08-23 |
| status | ok |

## [change info](https://github.com/swoole/swoole-cli/compare/v5.1.7.0...v5.1.8.0)

1. swoole version v5.1.7 upgrade to
v5.1.8 , [swoole v5.1.8 info](https://github.com/swoole/swoole-src/releases/tag/v5.1.8)



22 changes: 22 additions & 0 deletions docs/FAQ.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## download swoole-cli

```shell

curl -fSL https://github.com/swoole/swoole-cli/blob/main/setup-swoole-cli-runtime.sh?raw=true | bash -s -- --version v5.1.8.0

# from https://www.swoole.com/download
curl -fSL https://github.com/swoole/swoole-cli/blob/main/setup-swoole-cli-runtime.sh?raw=true | bash -s -- --version v5.1.8.0 --mirror china

```

## 备注: macos环境下 首次运行提示无权限 ,解决方法

note : macos clearing the com.apple.quarantine extended attribute

```
xattr ./runtime/swoole-cli/swoole-cli

sudo xattr -rd com.apple.quarantine ./runtime/swoole-cli/swoole-cli

```

20 changes: 15 additions & 5 deletions docs/diff.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
Added(6)
===============================================================
+ ds

# Extensions

## added(6)
+ imagick
+ mongodb
+ redis
+ swoole
+ yaml

Removed(26)
==============================================================
## Removed(26)
- calendar
- com_dotnet
- dba
Expand Down Expand Up @@ -36,3 +36,13 @@ Removed(26)
- sysvshm
- tidy

# SAPI
Only CLI SAPI(`sapi/cli`) is available. FPM module(`sapi/fpm`) and cli are merged into one(`sapi/cli/fpm`).

## List of files maintained by us
- Makefile.frag
- config.m4
- php_cli.c
- php_cli_server.h
- php_cli_server.c

6 changes: 2 additions & 4 deletions prepare.php
Original file line number Diff line number Diff line change
Expand Up @@ -164,16 +164,14 @@
//$p->setExtraLdflags(' -framework CoreFoundation');
$p->setExtraLdflags(' ');
$homebrew_prefix = trim(shell_exec('brew --prefix'));
$p->withBinPath($homebrew_prefix . '/opt/llvm/bin')
->withBinPath($homebrew_prefix . '/opt/flex/bin')
$p->withBinPath($homebrew_prefix . '/opt/flex/bin')
->withBinPath($homebrew_prefix . '/opt/bison/bin')
->withBinPath($homebrew_prefix . '/opt/libtool/bin')
->withBinPath($homebrew_prefix . '/opt/m4/bin')
->withBinPath($homebrew_prefix . '/opt/automake/bin/')
->withBinPath($homebrew_prefix . '/opt/autoconf/bin/')
->withBinPath($homebrew_prefix . '/opt/gettext/bin')
->setLinker('ld64.lld');

->setLinker('ld');
$p->setLogicalProcessors('$(sysctl -n hw.ncpu)');
} else {
$p->setLinker('ld.lld');
Expand Down
Loading
Loading