|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2020-11-26 11:10 UTC] martin at radiok2r dot de
Description: ------------ Hello, I'm trying to run Apache with PHP 8 JIT-compiler on Windows 10 64-bit. I did: Downloaded and installed Apache 2.4.46 Win64 from https://www.apachelounge.com/download/ Downloaded and installed PHP VS16 x64 Thread Safe (2020-Nov-24 22:49:03) from: https://windows.php.net/download/ I inserted: LoadModule php_module "C:/[Path to PHP]/php8apache2_4.dll" AddHandler application/x-httpd-php .php into my httpd.conf I started Apache, and browsing to local webpages works fine. Okay, so I added to my php.ini: opcache.jit_buffer_size=100M which should activate the JIT-compiler. I restarted Apache and called a local webpage and just got: This site can’t be reached The connection was reset. Windows event-log shows me (I hope the translation is correct): Name of the crashed application: httpd.exe, Version: 2.4.46.0, Timestamp: 0x5f76f6fc Name of the crashed modul: php_opcache.dll, Version: 8.0.0.0, Timestamp: 0x5fbd7aa0 Exceptioncode: 0xc0000005 Erroroffset: 0x000000000012a298 ID of the faulty process: 0x4628 Path to the crashed appliction: C:\[Path to Apache]\bin\httpd.exe Path to the crashed modul:: c:\[Path to PHP]\ext\php_opcache.dll Removing: opcache.jit_buffer_size=100M from php.ini, and Apache works fine again. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 21:00:01 2025 UTC |
Thanks for your reply and all your hints! It all works with opcache.jit=1205 without problems. Without opcache.jit=1205 (no setting for opcache.jit at all in the php.ini) this php-code crashes: <?php print "Hello world\r\n"; print $_SERVER["DOCUMENT_ROOT"]."\r\n"; for ($i = 0; $i < 100; $i++) { $b = file_exists($_SERVER["DOCUMENT_ROOT"]."/index.php"); } print "It worked"; When reducing the loop to run 50 times it works, but 100 times is too much and it crashes. Hope this helps.I changed the code for testing a bit to make it independent from the webserver: <?php print "Hello world\r\n"; for ($i = 0; $i < 100; $i++) { $b = file_exists("index.php"); print $i; var_dump($b); } print "It worked"; This code still crashes in Apache, but works fine with CLI. I'm not sure what else I could do to make it reproducible for you, I already gave you the versions from Apache I'm using. What else could influence that it works for you and not for me and louisowen?