Hi,
Dne 11.11.2018 v 21:39 Anatol Belski napsal(a):
Hi,
On Thu, 2018-11-08 at 14:21 +0100, Jan Vávra wrote:
Hello,
at Windows 2016 I have a problem with http 500. The IIS trace log
files says: php-cgi.exe - The FastCGI process exited unexpectedly.
In the event log there are repeated many couples of events:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
;
<System>
<Provider Name="Zend OPcache" />
<EventID Qualifiers="0">2</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2018-11-07T15:44:37.343553900Z" />
<EventRecordID>667551</EventRecordID>
<Channel>Application</Channel>
<Computer>COMP1</Computer>
<Security />
</System>
<EventData>
<Data>Unable to open base address file</Data>
<Data>The system cannot find the file specified.</Data>
</EventData>
</Event>
and
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
;
<System>
<Provider Name="Zend OPcache" />
<EventID Qualifiers="0">2</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2018-11-07T15:44:37.343553900Z" />
<EventRecordID>667550</EventRecordID>
<Channel>Application</Channel>
<Computer>COMP1</Computer>
<Security />
</System>
<EventData>
<Data>C:\Windows\TEMP\ZendOPcache.MemoryBase@xappuser@dfb1f24e1dd
21d34e9485ad7bfa87baf</Data>
<Data>The system cannot find the file specified.</Data>
</EventData>
</Event>
The file C:\Windows\TEMP\ZendOPcache.MemoryBase@xappuser@dfb1f24e1dd2
1d34e9485ad7bfa87baf exists and contains: 0000100000000000.
Version of php is 7.1.15 x64 nts.
The identity of application pool is an Active Directory authenticated
user.
And the problem begins after hours of running.
Should I configure something in the php.ini ?
The description sounds very much like this issue
https://bugs.php.net/bug.php?id=76832 . Please check some recent PHP
version.
Thanks
Anatol
thank for a reply.
I do not think the commit referenced at the bug will solve anything.
The commit
http://git.php.net/?p=php-src.git;a=commitdiff;h=f26172f9343cf49d62bbefff355bb76d6adf7ebe;hp=7fde2243a712bb1cdc0b07cef2ba5ce13ec5259b
added only some warning
if (0 > win32_utime(mmap_base_file, NULL)) {
err = GetLastError();
zend_win_error_message(ACCEL_LOG_WARNING, mmap_base_file, err);
}
but the operation fails earlier ( two condition before)
if (!fp) {
err = GetLastError();
zend_win_error_message(ACCEL_LOG_WARNING, mmap_base_file, err);
zend_win_error_message(ACCEL_LOG_FATAL, "Unable to open base
address file", err);
*error_in="fopen";
return ALLOC_FAILURE;
}
I made a test. I've set up php.ini
opcache.mmap_base=0000100000000000
but the opcache still wants to open a mmap_base_file and the problem
occurs again.
Why does it want to read the file, if the address is configured ?
I can simply reproduce the problem by these steps:
1. At inetmgr, FastCGI settings I've lowered MaxRequests instance to 10
and Max instance count set to 4 and restarted IIS.
2. I've made plenty of browser request to url to our php application by
holding F5 key (refresh).
3. I've manually removed file
C:\Windows\Temp\ZendOPcache.MemoryBase@FormFlow@609c39c1d8567a2390e967266d45a615
4. I've made plenty of browser requests to url of our php application by
holding F5 key (refresh).
And the problem occurred and was recorded at the Windows Event log as
I've written at the top of this mail.
Tested on 7.1.23 x64 Windows at Windows 10 and Windows 2016.
Jan.