Bug #71024 [NEW]: Unable to use PHP 7.0 x64 side-by-side with PHP 5.6 x32 on the same server

From: Date: Fri, 04 Dec 2015 08:42:54 +0000
Subject: Bug #71024 [NEW]: Unable to use PHP 7.0 x64 side-by-side with PHP 5.6 x32 on the same server
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-197582@lists.php.net to get a copy of this message
From: pvasilevich at odin dot com Operating system: Windows PHP version: 7.0.0 Package: opcache Bug Type: Bug Bug description:Unable to use PHP 7.0 x64 side-by-side with PHP 5.6 x32 on the same server Description: ------------ STEPS TO REPRODUCE: 1) create site in IIS and configure it to use PHP 5.6 x86 for it. 2) create virtual directory (in this case the same pool user will be used for both PHP) and configure PHP 7.0 x64 on it. 3) browse site pages that handled by PHP 5.6 - everything works fine. Notice, that C:\Windows\Temp\ZendOPcache.MemoryBase@user file was created, and process php-cgi.exe holds handle to \BaseNamedObjects\ZendOPcache.SharedMemoryArea@user shared memory 4) then try to request pages under virtual directory handled by PHP 7.0 Expected result: ---------------- There could be several solutions and workarounds here. The most elegant and stable (appropriate for all following release as well) will be solution to differentiate shared memory names, and mmap_base files by name. Proposed solution is to include PHP version and architecture in file name and shared memory name, and mutex. This can separate memory objects between different versions on servers, make it more stable. The following request looks quite similar: https://github.com/zendtech/ZendOptimizerPlus/issues/109 Actual result: -------------- 500 Internal server error. Looking at crash dump you can see: 000000de14eeeea0 00007ff9831433e1 php_opcache!accel_new_interned_string+0x27 [c:\php-sdk\php70dev\vc14\x64\php-7.0.0\ext\opcache\zendaccelerator.c @ 330] 000000de14eeeee0 00007ff9831466ca php_opcache!accel_use_shm_interned_strings+0x21 [c:\php-sdk\php70dev\vc14\x64\php-7.0.0\ext\opcache\zendaccelerator.c @ 395] 000000de14eeef20 00007ff975847634 php_opcache!accel_startup+0x1fa [c:\php-sdk\php70dev\vc14\x64\php-7.0.0\ext\opcache\zendaccelerator.c @ 2662] 000000de14eeef50 00007ff9757ab25b php7!zend_extension_startup+0x24 [c:\php-sdk\php70dev\vc14\x64\php-7.0.0\zend\zend_extensions.c @ 176] 000000de14eeef80 00007ff97544268c php7!zend_llist_apply_with_del+0x357ebb [c:\php-sdk\php70dev\vc14\x64\php-7.0.0\zend\zend_llist.c @ 171] 000000de14eeefc0 00007ff721142787 php7!php_module_startup+0x95c [c:\php-sdk\php70dev\vc14\x64\php-7.0.0\main\main.c @ 2199] 000000de14eef4c0 00007ff7211448ec php_cgi!php_cgi_startup+0x17 [c:\php-sdk\php70dev\vc14\x64\php-7.0.0\sapi\cgi\cgi_main.c @ 918] 000000de14eef4f0 00007ff721148d40 php_cgi!main+0x5bc [c:\php-sdk\php70dev\vc14\x64\php-7.0.0\sapi\cgi\cgi_main.c @ 1899] 000000de14eefa20 00007ff993271611 php_cgi!__scrt_common_main_seh+0x124 [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 264] 000000de14eefa60 00007ff9935a64ad kernel32!BaseThreadInitThunk+0xd 000000de14eefa90 0000000000000000 ntdll!RtlUserThreadStart+0x1d In fact PHP 7 tries to use the same memory (looking for the same memory object name). Looks like because PHP 7 is 64-bit process, structure of the memory is different, that brings to crash. -- Edit bug report at https://bugs.php.net/bug.php?id=71024&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=71024&r=trysnapshot54 Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=71024&r=trysnapshot55 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=71024&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=71024&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=71024&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=71024&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=71024&r=needscript Try newer version: https://bugs.php.net/fix.php?id=71024&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=71024&r=support Expected behavior: https://bugs.php.net/fix.php?id=71024&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=71024&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=71024&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=71024&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=71024&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=71024&r=dst IIS Stability: https://bugs.php.net/fix.php?id=71024&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=71024&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=71024&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=71024&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=71024&r=mysqlcfg

« previous php.bugs (#197582) next »