summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2015-12-07 22:52:51 +0100
committerAnatol Belski <ab@php.net>2015-12-07 22:53:35 +0100
commit7c981192eb26fbb93be767cd6b2dc765d370bbab (patch)
tree7ef61c6102235a8859cb7a4b0411fb9c1a506d01
parent250430acdc230ae9a894b8939653aad6fad537ce (diff)
downloadphp-git-7c981192eb26fbb93be767cd6b2dc765d370bbab.tar.gz
Fixed bug #71024 Unable to use PHP 7.0 x64 side-by-side with PHP 5.6 x32 on the same server
-rw-r--r--ext/opcache/ZendAccelerator.c5
-rw-r--r--ext/opcache/ZendAccelerator.h2
-rw-r--r--ext/opcache/shared_alloc_win32.c8
3 files changed, 4 insertions, 11 deletions
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index 39d2b4c590..cc4273c6ba 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -2459,8 +2459,6 @@ static void accel_globals_dtor(zend_accel_globals *accel_globals)
}
}
-#ifdef HAVE_OPCACHE_FILE_CACHE
-
#define ZEND_BIN_ID "BIN_" ZEND_TOSTR(SIZEOF_CHAR) ZEND_TOSTR(SIZEOF_INT) ZEND_TOSTR(SIZEOF_LONG) ZEND_TOSTR(SIZEOF_SIZE_T) ZEND_TOSTR(SIZEOF_ZEND_LONG) ZEND_TOSTR(ZEND_MM_ALIGNMENT)
static void accel_gen_system_id(void)
@@ -2489,7 +2487,6 @@ static void accel_gen_system_id(void)
md5str[(i * 2) + 1] = c;
}
}
-#endif
#ifdef HAVE_HUGE_CODE_PAGES
# ifndef _WIN32
@@ -2619,9 +2616,7 @@ static int accel_startup(zend_extension *extension)
return FAILURE;
}
-#ifdef HAVE_OPCACHE_FILE_CACHE
accel_gen_system_id();
-#endif
#ifdef HAVE_HUGE_CODE_PAGES
if (ZCG(accel_directives).huge_code_pages &&
diff --git a/ext/opcache/ZendAccelerator.h b/ext/opcache/ZendAccelerator.h
index 798b2d7365..083c0d91e8 100644
--- a/ext/opcache/ZendAccelerator.h
+++ b/ext/opcache/ZendAccelerator.h
@@ -251,9 +251,7 @@ typedef struct _zend_accel_globals {
int auto_globals_mask;
time_t request_time;
time_t last_restart_time; /* used to synchronize SHM and in-process caches */
-#ifdef HAVE_OPCACHE_FILE_CACHE
char system_id[32];
-#endif
HashTable xlat_table;
/* preallocated shared-memory block to save current script */
void *mem;
diff --git a/ext/opcache/shared_alloc_win32.c b/ext/opcache/shared_alloc_win32.c
index ce4bacf348..9465a6d331 100644
--- a/ext/opcache/shared_alloc_win32.c
+++ b/ext/opcache/shared_alloc_win32.c
@@ -76,18 +76,18 @@ static void zend_win_error_message(int type, char *msg, int err)
static char *create_name_with_username(char *name)
{
- static char newname[MAXPATHLEN + UNLEN + 4];
+ static char newname[MAXPATHLEN + UNLEN + 4 + 1 + 32];
char uname[UNLEN + 1];
DWORD unsize = UNLEN;
GetUserName(uname, &unsize);
- snprintf(newname, sizeof(newname) - 1, "%s@%s", name, uname);
+ snprintf(newname, sizeof(newname) - 1, "%s@%s@%.32s", name, uname, ZCG(system_id));
return newname;
}
static char *get_mmap_base_file(void)
{
- static char windir[MAXPATHLEN+UNLEN + 3 + sizeof("\\\\@")];
+ static char windir[MAXPATHLEN+UNLEN + 3 + sizeof("\\\\@") + 1 + 32];
char uname[UNLEN + 1];
DWORD unsize = UNLEN;
int l;
@@ -95,7 +95,7 @@ static char *get_mmap_base_file(void)
GetTempPath(MAXPATHLEN, windir);
GetUserName(uname, &unsize);
l = strlen(windir);
- snprintf(windir + l, sizeof(windir) - l - 1, "\\%s@%s", ACCEL_FILEMAP_BASE, uname);
+ snprintf(windir + l, sizeof(windir) - l - 1, "\\%s@%s@%.32s", ACCEL_FILEMAP_BASE, uname, ZCG(system_id));
return windir;
}