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}");