com php-src: add PHP_OS_FAMILY constant to determine on which os we are: NEWS main/main.c tests /basic/req60524-win.phpt tests/basic/req605 24.phpt
tests/lang/bug38579.phpt tests/ou tput/sapi_windows_vt100_support_notwindows.phpt tests/output/sapi_windows_vt100_support_winko _err.phpt
tests/output/sapi_windows_vt100_sup port_winko_in-err.phpt tests/output/sapi_windows_vt 100_support_winko_in-out-err.phpt tests/output/
sapi_windows_vt100_support_winko_in
| From: | Joe Watkins | Date: | Wed, 25 Jan 2017 20:50:14 +0000 |
| Subject: | com php-src: add PHP_OS_FAMILY constant to determine on which os we are: NEWS main/main.c tests /basic/req60524-win.phpt tests/basic/req605 24.phpt tests/lang/bug38579.phpt tests/ou tput/sapi_windows_vt100_support_notwindows.phpt tests/output/sapi_windows_vt100_support_winko _err.phpt tests/output/sapi_windows_vt100_sup port_winko_in-err.phpt tests/output/sapi_windows_vt 100_support_winko_in-out-err.phpt tests/output/ sapi_windows_vt100_support_winko_in |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-96870@lists.php.net to get a copy of this message | ||
Commit: bb059fe0a78af864ce62a658adcd22c931de127e
Author: Stricted <info@stricted.net> Wed, 25 Jan 2017 08:34:24 +0100
Committer: Joe Watkins <krakjoe@php.net> Wed, 25 Jan 2017 20:50:14 +0000
Parents: 4a72d340a334be11aa529c4a24c8f5b2d531f364
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=bb059fe0a78af864ce62a658adcd22c931de127e
Log:
add PHP_OS_FAMILY constant to determine on which os we are
Changed paths:
M NEWS
M main/main.c
M tests/basic/req60524-win.phpt
M tests/basic/req60524.phpt
M tests/lang/bug38579.phpt
M tests/output/sapi_windows_vt100_support_notwindows.phpt
M tests/output/sapi_windows_vt100_support_winko_err.phpt
M tests/output/sapi_windows_vt100_support_winko_in-err.phpt
M tests/output/sapi_windows_vt100_support_winko_in-out-err.phpt
M tests/output/sapi_windows_vt100_support_winko_in-out.phpt
M tests/output/sapi_windows_vt100_support_winko_out-err.phpt
M tests/output/sapi_windows_vt100_support_winko_out.phpt
M tests/output/sapi_windows_vt100_support_winok_err.phpt
M tests/output/sapi_windows_vt100_support_winok_in-err.phpt
M tests/output/sapi_windows_vt100_support_winok_in-out-err.phpt
M tests/output/sapi_windows_vt100_support_winok_in-out.phpt
M tests/output/sapi_windows_vt100_support_winok_out-err.phpt
M tests/output/sapi_windows_vt100_support_winok_out.phpt
M tests/security/open_basedir_001.phpt
M tests/security/open_basedir_link.phpt
M tests/security/open_basedir_linkinfo.phpt
M tests/security/open_basedir_mkdir.phpt
M tests/security/open_basedir_parse_ini_file.phpt
M tests/security/open_basedir_readlink.phpt
M tests/security/open_basedir_realpath..phpt
M tests/security/open_basedir_symlink.phpt
diff --git a/NEWS b/NEWS index dbbea3b..7d03c34 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,7 @@ PHP NEWS . Raised minimum supported Windows versions to Windows 7/Server 2008 R2. (Anatol) . Fixed bug #73969 (segfault in debug_print_backtrace). (andrewnester) + . Added PHP_OS_FAMILY constant to determine on which OS we are. (Jan Altensen) - BCMath: . Fixed bug #46564 (bcmod truncates fractionals). (liborm85) diff --git a/main/main.c b/main/main.c index 17cf299..ab01757 100644 --- a/main/main.c +++ b/main/main.c @@ -2051,7 +2051,7 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod zend_utility_functions zuf; zend_utility_values zuv; int retval = SUCCESS, module_number=0; /* for REGISTER_INI_ENTRIES() */ - char *php_os; + char *php_os, *php_os_family; zend_module_entry *module; #ifdef PHP_WIN32 @@ -2073,6 +2073,21 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod php_os = PHP_OS; #endif +#if defined(PHP_WIN32) + php_os_family = "WIN"; +#elif defined(BSD) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) + php_os_family = "BSD"; +#elif defined(__APPLE__) || defined(__MACH__) + php_os_family = "OSX"; +#elif defined(__sun__) + php_os_family = "SOLARIS"; +#elif defined(__linux__) + php_os_family = "LINUX"; +#else + php_os_family = "unknown"; +#endif + + #ifdef ZTS (void)ts_resource(0); #endif @@ -2153,6 +2168,7 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod #endif REGISTER_MAIN_LONG_CONSTANT("PHP_DEBUG", PHP_DEBUG, CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_STRINGL_CONSTANT("PHP_OS", php_os, strlen(php_os), CONST_PERSISTENT | CONST_CS); + REGISTER_MAIN_STRINGL_CONSTANT("PHP_OS_FAMILY", php_os_family, strlen(php_os_family), CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_STRINGL_CONSTANT("PHP_SAPI", sapi_module.name, strlen(sapi_module.name), CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_STRINGL_CONSTANT("DEFAULT_INCLUDE_PATH", PHP_INCLUDE_PATH, sizeof(PHP_INCLUDE_PATH)-1, CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_STRINGL_CONSTANT("PEAR_INSTALL_DIR", PEAR_INSTALLDIR, sizeof(PEAR_INSTALLDIR)-1, CONST_PERSISTENT | CONST_CS); diff --git a/tests/basic/req60524-win.phpt b/tests/basic/req60524-win.phpt index b2e7cfd..8eb38a5 100644 --- a/tests/basic/req60524-win.phpt +++ b/tests/basic/req60524-win.phpt @@ -4,7 +4,7 @@ Req #60524 (Specify temporary directory) sys_temp_dir=C:\Windows --SKIPIF-- <?php -if( substr(PHP_OS, 0, 3) != "WIN" ) +if(PHP_OS_FAMILY !== "WIN") die('skip Run only on Windows'); ?> --FILE-- diff --git a/tests/basic/req60524.phpt b/tests/basic/req60524.phpt index 7cc3edf..e4999e1 100644 --- a/tests/basic/req60524.phpt +++ b/tests/basic/req60524.phpt @@ -4,7 +4,7 @@ Req #60524 (Specify temporary directory) sys_temp_dir=/path/to/temp/dir --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') { +if(PHP_OS_FAMILY === "WIN") { die('skip non-windows only test'); } ?> diff --git a/tests/lang/bug38579.phpt b/tests/lang/bug38579.phpt index 445296c..3c96e7f 100644 --- a/tests/lang/bug38579.phpt +++ b/tests/lang/bug38579.phpt @@ -2,7 +2,7 @@ Bug #38579 (include_once() may include the same file twice) --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) != 'WIN') { +if(PHP_OS_FAMILY !== "WIN") { die('skip only for Windows'); } ?> diff --git a/tests/output/sapi_windows_vt100_support_notwindows.phpt b/tests/output/sapi_windows_vt100_support_notwindows.phpt index 5ff3823..d1afa4d 100644 --- a/tests/output/sapi_windows_vt100_support_notwindows.phpt +++ b/tests/output/sapi_windows_vt100_support_notwindows.phpt @@ -2,7 +2,7 @@ Test that sapi_windows_vt100_support exists only on Windows --SKIPIF-- <?php -if (stripos(PHP_OS, 'WIN') === 0) { +if(PHP_OS_FAMILY === "WIN") { echo "skip Only for not Windows systems"; } ?> diff --git a/tests/output/sapi_windows_vt100_support_winko_err.phpt b/tests/output/sapi_windows_vt100_support_winko_err.phpt index 4357c74..9c85a20 100644 --- a/tests/output/sapi_windows_vt100_support_winko_err.phpt +++ b/tests/output/sapi_windows_vt100_support_winko_err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on older Windows versions with redirected STDERR if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winko_in-err.phpt b/tests/output/sapi_windows_vt100_support_winko_in-err.phpt index fd508ee..595b5c4 100644 --- a/tests/output/sapi_windows_vt100_support_winko_in-err.phpt +++ b/tests/output/sapi_windows_vt100_support_winko_in-err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on older Windows versions with redirected STDIN/ if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winko_in-out-err.phpt b/tests/output/sapi_windows_vt100_support_winko_in-out-err.phpt index 4af527f..44fae22 100644 --- a/tests/output/sapi_windows_vt100_support_winko_in-out-err.phpt +++ b/tests/output/sapi_windows_vt100_support_winko_in-out-err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on older Windows versions with redirected STDIN/ if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winko_in-out.phpt b/tests/output/sapi_windows_vt100_support_winko_in-out.phpt index 18b64ac..322e7ad 100644 --- a/tests/output/sapi_windows_vt100_support_winko_in-out.phpt +++ b/tests/output/sapi_windows_vt100_support_winko_in-out.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on older Windows versions with redirected STDIN/ if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winko_out-err.phpt b/tests/output/sapi_windows_vt100_support_winko_out-err.phpt index 4fdf2dd..e61652c 100644 --- a/tests/output/sapi_windows_vt100_support_winko_out-err.phpt +++ b/tests/output/sapi_windows_vt100_support_winko_out-err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on older Windows versions with redirected STDOUT if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winko_out.phpt b/tests/output/sapi_windows_vt100_support_winko_out.phpt index 500cabc..21966c8 100644 --- a/tests/output/sapi_windows_vt100_support_winko_out.phpt +++ b/tests/output/sapi_windows_vt100_support_winko_out.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on older Windows versions with redirected STDOUT if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winok_err.phpt b/tests/output/sapi_windows_vt100_support_winok_err.phpt index 3113891..26da556 100644 --- a/tests/output/sapi_windows_vt100_support_winok_err.phpt +++ b/tests/output/sapi_windows_vt100_support_winok_err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on newer Windows versions with redirected STDERR if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winok_in-err.phpt b/tests/output/sapi_windows_vt100_support_winok_in-err.phpt index 4ca743f..646e169 100644 --- a/tests/output/sapi_windows_vt100_support_winok_in-err.phpt +++ b/tests/output/sapi_windows_vt100_support_winok_in-err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on newer Windows versions with redirected STDIN/ if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winok_in-out-err.phpt b/tests/output/sapi_windows_vt100_support_winok_in-out-err.phpt index a8d9380..d277128 100644 --- a/tests/output/sapi_windows_vt100_support_winok_in-out-err.phpt +++ b/tests/output/sapi_windows_vt100_support_winok_in-out-err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on newer Windows versions with redirected STDIN/ if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winok_in-out.phpt b/tests/output/sapi_windows_vt100_support_winok_in-out.phpt index 17f90e5..1dd889a 100644 --- a/tests/output/sapi_windows_vt100_support_winok_in-out.phpt +++ b/tests/output/sapi_windows_vt100_support_winok_in-out.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on newer Windows versions with redirected STDIN/ if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winok_out-err.phpt b/tests/output/sapi_windows_vt100_support_winok_out-err.phpt index 03e7d2c..e31b688 100644 --- a/tests/output/sapi_windows_vt100_support_winok_out-err.phpt +++ b/tests/output/sapi_windows_vt100_support_winok_out-err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on newer Windows versions with redirected STDOUT if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winok_out.phpt b/tests/output/sapi_windows_vt100_support_winok_out.phpt index 784a12d..5379ac2 100644 --- a/tests/output/sapi_windows_vt100_support_winok_out.phpt +++ b/tests/output/sapi_windows_vt100_support_winok_out.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on newer Windows versions with redirected STDOUT if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/security/open_basedir_001.phpt b/tests/security/open_basedir_001.phpt index 9ea9559..7b198df 100644 --- a/tests/security/open_basedir_001.phpt +++ b/tests/security/open_basedir_001.phpt @@ -2,7 +2,7 @@ openbase_dir runtime tightning --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') { +if(PHP_OS_FAMILY === "WIN") { die('skip.. only for unix'); } if (!is_dir("/usr/local/bin")) { diff --git a/tests/security/open_basedir_link.phpt b/tests/security/open_basedir_link.phpt index 82f97d6..e03b23e 100644 --- a/tests/security/open_basedir_link.phpt +++ b/tests/security/open_basedir_link.phpt @@ -2,7 +2,7 @@ Test open_basedir configuration --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') { +if(PHP_OS_FAMILY === "WIN") { die('skip no links on Windows'); } ?> diff --git a/tests/security/open_basedir_linkinfo.phpt b/tests/security/open_basedir_linkinfo.phpt index 55cf2c2..0f2b941 100644 --- a/tests/security/open_basedir_linkinfo.phpt +++ b/tests/security/open_basedir_linkinfo.phpt @@ -2,7 +2,7 @@ Test open_basedir configuration --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') { +if(PHP_OS_FAMILY === "WIN") { die('skip no symlinks on Windows'); } ?> diff --git a/tests/security/open_basedir_mkdir.phpt b/tests/security/open_basedir_mkdir.phpt index 9c32d40..fba0dfb 100644 --- a/tests/security/open_basedir_mkdir.phpt +++ b/tests/security/open_basedir_mkdir.phpt @@ -2,7 +2,7 @@ Test open_basedir configuration --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) != 'WIN') { +if(PHP_OS_FAMILY !== "WIN") { die('skip Windows only variation'); } ?> diff --git a/tests/security/open_basedir_parse_ini_file.phpt b/tests/security/open_basedir_parse_ini_file.phpt index d69adeb..5dec5f8 100644 --- a/tests/security/open_basedir_parse_ini_file.phpt +++ b/tests/security/open_basedir_parse_ini_file.phpt @@ -4,7 +4,7 @@ Test open_basedir configuration open_basedir=. --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) != 'WIN') { +if(PHP_OS_FAMILY !== "WIN") { die('skip Windows only variation'); } ?> diff --git a/tests/security/open_basedir_readlink.phpt b/tests/security/open_basedir_readlink.phpt index 33720bb..16c638a 100644 --- a/tests/security/open_basedir_readlink.phpt +++ b/tests/security/open_basedir_readlink.phpt @@ -2,7 +2,7 @@ Test open_basedir configuration --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') { +if(PHP_OS_FAMILY === "WIN") { die('skip no symlinks on Windows'); } ?> diff --git a/tests/security/open_basedir_realpath.phpt b/tests/security/open_basedir_realpath.phpt index 8cae890..c44215a 100644 --- a/tests/security/open_basedir_realpath.phpt +++ b/tests/security/open_basedir_realpath.phpt @@ -2,7 +2,7 @@ Test open_basedir configuration --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) != 'WIN') { +if(PHP_OS_FAMILY !== "WIN") { die('skip only run on Windows'); } ?> diff --git a/tests/security/open_basedir_symlink.phpt b/tests/security/open_basedir_symlink.phpt index cdc8e7b..fe138cf 100644 --- a/tests/security/open_basedir_symlink.phpt +++ b/tests/security/open_basedir_symlink.phpt @@ -2,7 +2,7 @@ Test open_basedir configuration --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') { +if(PHP_OS_FAMILY === "WIN") { die('skip no symlinks on Windows'); } ?>
diff --git a/NEWS b/NEWS index dbbea3b..7d03c34 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,7 @@ PHP NEWS . Raised minimum supported Windows versions to Windows 7/Server 2008 R2. (Anatol) . Fixed bug #73969 (segfault in debug_print_backtrace). (andrewnester) + . Added PHP_OS_FAMILY constant to determine on which OS we are. (Jan Altensen) - BCMath: . Fixed bug #46564 (bcmod truncates fractionals). (liborm85) diff --git a/main/main.c b/main/main.c index 17cf299..ab01757 100644 --- a/main/main.c +++ b/main/main.c @@ -2051,7 +2051,7 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod zend_utility_functions zuf; zend_utility_values zuv; int retval = SUCCESS, module_number=0; /* for REGISTER_INI_ENTRIES() */ - char *php_os; + char *php_os, *php_os_family; zend_module_entry *module; #ifdef PHP_WIN32 @@ -2073,6 +2073,21 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod php_os = PHP_OS; #endif +#if defined(PHP_WIN32) + php_os_family = "WIN"; +#elif defined(BSD) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) + php_os_family = "BSD"; +#elif defined(__APPLE__) || defined(__MACH__) + php_os_family = "OSX"; +#elif defined(__sun__) + php_os_family = "SOLARIS"; +#elif defined(__linux__) + php_os_family = "LINUX"; +#else + php_os_family = "unknown"; +#endif + + #ifdef ZTS (void)ts_resource(0); #endif @@ -2153,6 +2168,7 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod #endif REGISTER_MAIN_LONG_CONSTANT("PHP_DEBUG", PHP_DEBUG, CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_STRINGL_CONSTANT("PHP_OS", php_os, strlen(php_os), CONST_PERSISTENT | CONST_CS); + REGISTER_MAIN_STRINGL_CONSTANT("PHP_OS_FAMILY", php_os_family, strlen(php_os_family), CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_STRINGL_CONSTANT("PHP_SAPI", sapi_module.name, strlen(sapi_module.name), CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_STRINGL_CONSTANT("DEFAULT_INCLUDE_PATH", PHP_INCLUDE_PATH, sizeof(PHP_INCLUDE_PATH)-1, CONST_PERSISTENT | CONST_CS); REGISTER_MAIN_STRINGL_CONSTANT("PEAR_INSTALL_DIR", PEAR_INSTALLDIR, sizeof(PEAR_INSTALLDIR)-1, CONST_PERSISTENT | CONST_CS); diff --git a/tests/basic/req60524-win.phpt b/tests/basic/req60524-win.phpt index b2e7cfd..8eb38a5 100644 --- a/tests/basic/req60524-win.phpt +++ b/tests/basic/req60524-win.phpt @@ -4,7 +4,7 @@ Req #60524 (Specify temporary directory) sys_temp_dir=C:\Windows --SKIPIF-- <?php -if( substr(PHP_OS, 0, 3) != "WIN" ) +if(PHP_OS_FAMILY !== "WIN") die('skip Run only on Windows'); ?> --FILE-- diff --git a/tests/basic/req60524.phpt b/tests/basic/req60524.phpt index 7cc3edf..e4999e1 100644 --- a/tests/basic/req60524.phpt +++ b/tests/basic/req60524.phpt @@ -4,7 +4,7 @@ Req #60524 (Specify temporary directory) sys_temp_dir=/path/to/temp/dir --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') { +if(PHP_OS_FAMILY === "WIN") { die('skip non-windows only test'); } ?> diff --git a/tests/lang/bug38579.phpt b/tests/lang/bug38579.phpt index 445296c..3c96e7f 100644 --- a/tests/lang/bug38579.phpt +++ b/tests/lang/bug38579.phpt @@ -2,7 +2,7 @@ Bug #38579 (include_once() may include the same file twice) --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) != 'WIN') { +if(PHP_OS_FAMILY !== "WIN") { die('skip only for Windows'); } ?> diff --git a/tests/output/sapi_windows_vt100_support_notwindows.phpt b/tests/output/sapi_windows_vt100_support_notwindows.phpt index 5ff3823..d1afa4d 100644 --- a/tests/output/sapi_windows_vt100_support_notwindows.phpt +++ b/tests/output/sapi_windows_vt100_support_notwindows.phpt @@ -2,7 +2,7 @@ Test that sapi_windows_vt100_support exists only on Windows --SKIPIF-- <?php -if (stripos(PHP_OS, 'WIN') === 0) { +if(PHP_OS_FAMILY === "WIN") { echo "skip Only for not Windows systems"; } ?> diff --git a/tests/output/sapi_windows_vt100_support_winko_err.phpt b/tests/output/sapi_windows_vt100_support_winko_err.phpt index 4357c74..9c85a20 100644 --- a/tests/output/sapi_windows_vt100_support_winko_err.phpt +++ b/tests/output/sapi_windows_vt100_support_winko_err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on older Windows versions with redirected STDERR if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winko_in-err.phpt b/tests/output/sapi_windows_vt100_support_winko_in-err.phpt index fd508ee..595b5c4 100644 --- a/tests/output/sapi_windows_vt100_support_winko_in-err.phpt +++ b/tests/output/sapi_windows_vt100_support_winko_in-err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on older Windows versions with redirected STDIN/ if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winko_in-out-err.phpt b/tests/output/sapi_windows_vt100_support_winko_in-out-err.phpt index 4af527f..44fae22 100644 --- a/tests/output/sapi_windows_vt100_support_winko_in-out-err.phpt +++ b/tests/output/sapi_windows_vt100_support_winko_in-out-err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on older Windows versions with redirected STDIN/ if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winko_in-out.phpt b/tests/output/sapi_windows_vt100_support_winko_in-out.phpt index 18b64ac..322e7ad 100644 --- a/tests/output/sapi_windows_vt100_support_winko_in-out.phpt +++ b/tests/output/sapi_windows_vt100_support_winko_in-out.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on older Windows versions with redirected STDIN/ if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winko_out-err.phpt b/tests/output/sapi_windows_vt100_support_winko_out-err.phpt index 4fdf2dd..e61652c 100644 --- a/tests/output/sapi_windows_vt100_support_winko_out-err.phpt +++ b/tests/output/sapi_windows_vt100_support_winko_out-err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on older Windows versions with redirected STDOUT if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winko_out.phpt b/tests/output/sapi_windows_vt100_support_winko_out.phpt index 500cabc..21966c8 100644 --- a/tests/output/sapi_windows_vt100_support_winko_out.phpt +++ b/tests/output/sapi_windows_vt100_support_winko_out.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on older Windows versions with redirected STDOUT if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winok_err.phpt b/tests/output/sapi_windows_vt100_support_winok_err.phpt index 3113891..26da556 100644 --- a/tests/output/sapi_windows_vt100_support_winok_err.phpt +++ b/tests/output/sapi_windows_vt100_support_winok_err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on newer Windows versions with redirected STDERR if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winok_in-err.phpt b/tests/output/sapi_windows_vt100_support_winok_in-err.phpt index 4ca743f..646e169 100644 --- a/tests/output/sapi_windows_vt100_support_winok_in-err.phpt +++ b/tests/output/sapi_windows_vt100_support_winok_in-err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on newer Windows versions with redirected STDIN/ if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winok_in-out-err.phpt b/tests/output/sapi_windows_vt100_support_winok_in-out-err.phpt index a8d9380..d277128 100644 --- a/tests/output/sapi_windows_vt100_support_winok_in-out-err.phpt +++ b/tests/output/sapi_windows_vt100_support_winok_in-out-err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on newer Windows versions with redirected STDIN/ if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winok_in-out.phpt b/tests/output/sapi_windows_vt100_support_winok_in-out.phpt index 17f90e5..1dd889a 100644 --- a/tests/output/sapi_windows_vt100_support_winok_in-out.phpt +++ b/tests/output/sapi_windows_vt100_support_winok_in-out.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on newer Windows versions with redirected STDIN/ if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winok_out-err.phpt b/tests/output/sapi_windows_vt100_support_winok_out-err.phpt index 03e7d2c..e31b688 100644 --- a/tests/output/sapi_windows_vt100_support_winok_out-err.phpt +++ b/tests/output/sapi_windows_vt100_support_winok_out-err.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on newer Windows versions with redirected STDOUT if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/output/sapi_windows_vt100_support_winok_out.phpt b/tests/output/sapi_windows_vt100_support_winok_out.phpt index 784a12d..5379ac2 100644 --- a/tests/output/sapi_windows_vt100_support_winok_out.phpt +++ b/tests/output/sapi_windows_vt100_support_winok_out.phpt @@ -5,7 +5,7 @@ Test sapi_windows_vt100_support on newer Windows versions with redirected STDOUT if (getenv("SKIP_IO_CAPTURE_TESTS")) { die("skip I/O capture test"); } -if (stripos(PHP_OS, 'WIN') !== 0) { +if(PHP_OS_FAMILY !== "WIN") { echo "skip Only for Windows systems"; } elseif (version_compare( PHP_WINDOWS_VERSION_MAJOR.'.'.PHP_WINDOWS_VERSION_MINOR.'.'.PHP_WINDOWS_VERSION_BUILD, diff --git a/tests/security/open_basedir_001.phpt b/tests/security/open_basedir_001.phpt index 9ea9559..7b198df 100644 --- a/tests/security/open_basedir_001.phpt +++ b/tests/security/open_basedir_001.phpt @@ -2,7 +2,7 @@ openbase_dir runtime tightning --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') { +if(PHP_OS_FAMILY === "WIN") { die('skip.. only for unix'); } if (!is_dir("/usr/local/bin")) { diff --git a/tests/security/open_basedir_link.phpt b/tests/security/open_basedir_link.phpt index 82f97d6..e03b23e 100644 --- a/tests/security/open_basedir_link.phpt +++ b/tests/security/open_basedir_link.phpt @@ -2,7 +2,7 @@ Test open_basedir configuration --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') { +if(PHP_OS_FAMILY === "WIN") { die('skip no links on Windows'); } ?> diff --git a/tests/security/open_basedir_linkinfo.phpt b/tests/security/open_basedir_linkinfo.phpt index 55cf2c2..0f2b941 100644 --- a/tests/security/open_basedir_linkinfo.phpt +++ b/tests/security/open_basedir_linkinfo.phpt @@ -2,7 +2,7 @@ Test open_basedir configuration --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') { +if(PHP_OS_FAMILY === "WIN") { die('skip no symlinks on Windows'); } ?> diff --git a/tests/security/open_basedir_mkdir.phpt b/tests/security/open_basedir_mkdir.phpt index 9c32d40..fba0dfb 100644 --- a/tests/security/open_basedir_mkdir.phpt +++ b/tests/security/open_basedir_mkdir.phpt @@ -2,7 +2,7 @@ Test open_basedir configuration --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) != 'WIN') { +if(PHP_OS_FAMILY !== "WIN") { die('skip Windows only variation'); } ?> diff --git a/tests/security/open_basedir_parse_ini_file.phpt b/tests/security/open_basedir_parse_ini_file.phpt index d69adeb..5dec5f8 100644 --- a/tests/security/open_basedir_parse_ini_file.phpt +++ b/tests/security/open_basedir_parse_ini_file.phpt @@ -4,7 +4,7 @@ Test open_basedir configuration open_basedir=. --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) != 'WIN') { +if(PHP_OS_FAMILY !== "WIN") { die('skip Windows only variation'); } ?> diff --git a/tests/security/open_basedir_readlink.phpt b/tests/security/open_basedir_readlink.phpt index 33720bb..16c638a 100644 --- a/tests/security/open_basedir_readlink.phpt +++ b/tests/security/open_basedir_readlink.phpt @@ -2,7 +2,7 @@ Test open_basedir configuration --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') { +if(PHP_OS_FAMILY === "WIN") { die('skip no symlinks on Windows'); } ?> diff --git a/tests/security/open_basedir_realpath.phpt b/tests/security/open_basedir_realpath.phpt index 8cae890..c44215a 100644 --- a/tests/security/open_basedir_realpath.phpt +++ b/tests/security/open_basedir_realpath.phpt @@ -2,7 +2,7 @@ Test open_basedir configuration --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) != 'WIN') { +if(PHP_OS_FAMILY !== "WIN") { die('skip only run on Windows'); } ?> diff --git a/tests/security/open_basedir_symlink.phpt b/tests/security/open_basedir_symlink.phpt index cdc8e7b..fe138cf 100644 --- a/tests/security/open_basedir_symlink.phpt +++ b/tests/security/open_basedir_symlink.phpt @@ -2,7 +2,7 @@ Test open_basedir configuration --SKIPIF-- <?php -if (substr(PHP_OS, 0, 3) == 'WIN') { +if(PHP_OS_FAMILY === "WIN") { die('skip no symlinks on Windows'); } ?>