From 9785286a857d901aa3f297edb3d6389c129cf6a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Mon, 21 Aug 2023 12:47:06 +0200 Subject: [PATCH 1/3] fix: disable Zend Signals and enable Zend Max Execution Timers for ZTS builds --- src/SPC/builder/linux/LinuxBuilder.php | 2 +- src/SPC/builder/macos/MacOSBuilder.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SPC/builder/linux/LinuxBuilder.php b/src/SPC/builder/linux/LinuxBuilder.php index ff33af3ad..6ed41c1b9 100644 --- a/src/SPC/builder/linux/LinuxBuilder.php +++ b/src/SPC/builder/linux/LinuxBuilder.php @@ -169,7 +169,7 @@ public function buildPHP(int $build_target = BUILD_TARGET_NONE): void SourcePatcher::patchBeforeConfigure($this); $json_74 = $this->getPHPVersionID() < 80000 ? '--enable-json ' : ''; - $zts = $this->getOption('enable-zts', false) ? '--enable-zts ' : ''; + $zts = $this->getOption('enable-zts', false) ? '--enable-zts --disable-zend-signals --enable-zend-max-execution-timers ' : ''; shell()->cd(SOURCE_PATH . '/php-src') ->exec( diff --git a/src/SPC/builder/macos/MacOSBuilder.php b/src/SPC/builder/macos/MacOSBuilder.php index 8378f080b..0e8c98f00 100644 --- a/src/SPC/builder/macos/MacOSBuilder.php +++ b/src/SPC/builder/macos/MacOSBuilder.php @@ -149,7 +149,7 @@ public function buildPHP(int $build_target = BUILD_TARGET_NONE): void SourcePatcher::patchBeforeConfigure($this); $json_74 = $this->getPHPVersionID() < 80000 ? '--enable-json ' : ''; - $zts = $this->getOption('enable-zts', false) ? '--enable-zts ' : ''; + $zts = $this->getOption('enable-zts', false) ? '--enable-zts --disable-zend-signals ' : ''; shell()->cd(SOURCE_PATH . '/php-src') ->exec( From b62cccc23053e31f2a4120ef2ef1263e57719889 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Mon, 21 Aug 2023 12:54:36 +0200 Subject: [PATCH 2/3] detect PHP 8.1+ --- src/SPC/builder/linux/LinuxBuilder.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/SPC/builder/linux/LinuxBuilder.php b/src/SPC/builder/linux/LinuxBuilder.php index 6ed41c1b9..04a7ad861 100644 --- a/src/SPC/builder/linux/LinuxBuilder.php +++ b/src/SPC/builder/linux/LinuxBuilder.php @@ -168,8 +168,11 @@ public function buildPHP(int $build_target = BUILD_TARGET_NONE): void SourcePatcher::patchBeforeConfigure($this); - $json_74 = $this->getPHPVersionID() < 80000 ? '--enable-json ' : ''; - $zts = $this->getOption('enable-zts', false) ? '--enable-zts --disable-zend-signals --enable-zend-max-execution-timers ' : ''; + $phpVersionID = $this->getPHPVersionID(); + + $json_74 = $phpVersionID < 80000 ? '--enable-json ' : ''; + $maxExecutionTimers = $this->getOption('enable-zts', false) && $this->getPHPVersionID() > 81000 ? '--enable-zend-max-execution-timers ' : ''; + $zts = $this->getOption('enable-zts', false) ? '--enable-zts --disable-zend-signals ' : ''; shell()->cd(SOURCE_PATH . '/php-src') ->exec( @@ -185,6 +188,7 @@ public function buildPHP(int $build_target = BUILD_TARGET_NONE): void '--enable-fpm ' . $json_74 . $zts . + $maxExecutionTimers . '--enable-micro=all-static ' . $this->makeExtensionArgs() . ' ' . $envs From 9d8a18534cdff23194802f99d3f0260d4a66c69e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Mon, 21 Aug 2023 18:37:00 +0200 Subject: [PATCH 3/3] fix --- src/SPC/builder/linux/LinuxBuilder.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/SPC/builder/linux/LinuxBuilder.php b/src/SPC/builder/linux/LinuxBuilder.php index 04a7ad861..09d6fbdf8 100644 --- a/src/SPC/builder/linux/LinuxBuilder.php +++ b/src/SPC/builder/linux/LinuxBuilder.php @@ -169,10 +169,15 @@ public function buildPHP(int $build_target = BUILD_TARGET_NONE): void SourcePatcher::patchBeforeConfigure($this); $phpVersionID = $this->getPHPVersionID(); - $json_74 = $phpVersionID < 80000 ? '--enable-json ' : ''; - $maxExecutionTimers = $this->getOption('enable-zts', false) && $this->getPHPVersionID() > 81000 ? '--enable-zend-max-execution-timers ' : ''; - $zts = $this->getOption('enable-zts', false) ? '--enable-zts --disable-zend-signals ' : ''; + + if ($this->getOption('enable-zts', false)) { + $maxExecutionTimers = $phpVersionID >= 80100 ? '--enable-zend-max-execution-timers ' : ''; + $zts = '--enable-zts --disable-zend-signals '; + } else { + $maxExecutionTimers = ''; + $zts = ''; + } shell()->cd(SOURCE_PATH . '/php-src') ->exec(