Fix GH-8426: make test fail while soap extension build

If you build soap as a shared object, then these tests fail on
non-Windows, or when the PHP install hasn't been make install-ed yet,
but is executed from the development directory.

Closes GH-11211.
This commit is contained in:
nielsdos 2023-05-08 23:37:12 +02:00
parent 78ec64af44
commit 6ba0b06819
3 changed files with 15 additions and 4 deletions

3
NEWS
View file

@ -23,6 +23,9 @@ PHP NEWS
- PGSQL: - PGSQL:
. Fixed parameter parsing of pg_lo_export(). (kocsismate) . Fixed parameter parsing of pg_lo_export(). (kocsismate)
- Soap:
. Fixed bug GH-8426 (make test fail while soap extension build). (nielsdos)
- SPL: - SPL:
. Fixed bug GH-11178 (Segmentation fault in spl_array_it_get_current_data . Fixed bug GH-11178 (Segmentation fault in spl_array_it_get_current_data
(PHP 8.1.18)). (nielsdos) (PHP 8.1.18)). (nielsdos)

View file

@ -59,8 +59,12 @@ function get_data($max)
} }
$router = "bug73037_server.php"; $router = "bug73037_server.php";
$args = substr(PHP_OS, 0, 3) == 'WIN' $args = ["-d", "extension_dir=" . ini_get("extension_dir"), "-d", "extension=" . (substr(PHP_OS, 0, 3) == "WIN" ? "php_" : "") . "soap." . PHP_SHLIB_SUFFIX];
? ["-d", "extension_dir=" . ini_get("extension_dir"), "-d", "extension=php_soap.dll"] : []; if (php_ini_loaded_file()) {
// Necessary such that it works from a development directory in which case extension_dir might not be the real extension dir
$args[] = "-c";
$args[] = php_ini_loaded_file();
}
$code = <<<'PHP' $code = <<<'PHP'
$s = new SoapServer(NULL, array('uri' => 'http://here')); $s = new SoapServer(NULL, array('uri' => 'http://here'));
$s->setObject(new stdclass()); $s->setObject(new stdclass());

View file

@ -13,8 +13,12 @@ soap
include __DIR__ . "/../../../sapi/cli/tests/php_cli_server.inc"; include __DIR__ . "/../../../sapi/cli/tests/php_cli_server.inc";
$args = substr(PHP_OS, 0, 3) == 'WIN' $args = ["-d", "extension_dir=" . ini_get("extension_dir"), "-d", "extension=" . (substr(PHP_OS, 0, 3) == "WIN" ? "php_" : "") . "soap." . PHP_SHLIB_SUFFIX];
? ["-d", "extension_dir=" . ini_get("extension_dir"), "-d", "extension=php_soap.dll"] : []; if (php_ini_loaded_file()) {
// Necessary such that it works from a development directory in which case extension_dir might not be the real extension dir
$args[] = "-c";
$args[] = php_ini_loaded_file();
}
$code = <<<'PHP' $code = <<<'PHP'
/* Receive */ /* Receive */
$content = trim(file_get_contents("php://input")) . PHP_EOL; $content = trim(file_get_contents("php://input")) . PHP_EOL;