. 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)
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
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
#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);
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--
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');
}
?>
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');
}
?>
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";
}
?>
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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")) {
Test open_basedir configuration
--SKIPIF--
<?php
-if (substr(PHP_OS, 0, 3) == 'WIN') {
+if(PHP_OS_FAMILY === "WIN") {
die('skip no links on Windows');
}
?>
Test open_basedir configuration
--SKIPIF--
<?php
-if (substr(PHP_OS, 0, 3) == 'WIN') {
+if(PHP_OS_FAMILY === "WIN") {
die('skip no symlinks on Windows');
}
?>
Test open_basedir configuration
--SKIPIF--
<?php
-if (substr(PHP_OS, 0, 3) != 'WIN') {
+if(PHP_OS_FAMILY !== "WIN") {
die('skip Windows only variation');
}
?>
open_basedir=.
--SKIPIF--
<?php
-if (substr(PHP_OS, 0, 3) != 'WIN') {
+if(PHP_OS_FAMILY !== "WIN") {
die('skip Windows only variation');
}
?>
Test open_basedir configuration
--SKIPIF--
<?php
-if (substr(PHP_OS, 0, 3) == 'WIN') {
+if(PHP_OS_FAMILY === "WIN") {
die('skip no symlinks on Windows');
}
?>
Test open_basedir configuration
--SKIPIF--
<?php
-if (substr(PHP_OS, 0, 3) != 'WIN') {
+if(PHP_OS_FAMILY !== "WIN") {
die('skip only run on Windows');
}
?>
Test open_basedir configuration
--SKIPIF--
<?php
-if (substr(PHP_OS, 0, 3) == 'WIN') {
+if(PHP_OS_FAMILY === "WIN") {
die('skip no symlinks on Windows');
}
?>