From 271013f2d651148c72a90f09948840e27e519abe Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Fri, 13 Mar 2026 17:02:35 +0800 Subject: [PATCH] Add ext-shmop, fix path slashes --- config/pkg/ext/builtin-extensions.yml | 4 ++++ src/StaticPHP/Config/PackageConfig.php | 1 + src/StaticPHP/Util/FileSystem.php | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/config/pkg/ext/builtin-extensions.yml b/config/pkg/ext/builtin-extensions.yml index bdb97507..9b39ae8f 100644 --- a/config/pkg/ext/builtin-extensions.yml +++ b/config/pkg/ext/builtin-extensions.yml @@ -229,6 +229,10 @@ ext-readline: build-static: true ext-session: type: php-extension +ext-shmop: + type: php-extension + php-extension: + build-with-php: true ext-sockets: type: php-extension ext-sqlite3: diff --git a/src/StaticPHP/Config/PackageConfig.php b/src/StaticPHP/Config/PackageConfig.php index c4f22a52..0e2d0af1 100644 --- a/src/StaticPHP/Config/PackageConfig.php +++ b/src/StaticPHP/Config/PackageConfig.php @@ -23,6 +23,7 @@ class PackageConfig if (!is_dir($dir)) { throw new WrongUsageException("Directory {$dir} does not exist, cannot load pkg.json config."); } + $dir = rtrim($dir, '/'); $loaded = []; $files = FileSystem::scanDirFiles($dir, false); if (is_array($files)) { diff --git a/src/StaticPHP/Util/FileSystem.php b/src/StaticPHP/Util/FileSystem.php index c8da5353..3015b489 100644 --- a/src/StaticPHP/Util/FileSystem.php +++ b/src/StaticPHP/Util/FileSystem.php @@ -481,7 +481,7 @@ class FileSystem public static function fullpath(string $path, string $relative_path_base): string { if (FileSystem::isRelativePath($path)) { - $path = $relative_path_base . DIRECTORY_SEPARATOR . $path; + $path = rtrim($relative_path_base, '/') . DIRECTORY_SEPARATOR . $path; } if (!file_exists($path)) { throw new FileSystemException("Path does not exist: {$path}");