• Please be aware: Kaspersky Anti-Virus has been deprecated
    With the upgrade to Plesk Obsidian 18.0.64, "Kaspersky Anti-Virus for Servers" will be automatically removed from the servers it is installed on. We recommend that you migrate to Sophos Anti-Virus for Servers.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Resolved PHP FPM 8.2.17 is not accurately checking cached files for changes

andreios

Regular Pleskian
Username:

TITLE


PHP FPM 8.2.17 is not accurately checking cached files for changes

PRODUCT, VERSION, OPERATING SYSTEM, ARCHITECTURE

Plesk Obsidian, 18.0.59 Update #2, Ubuntu 22.04.4 LTS Linux 5.15.0-97-generic #107 x86_64

PROBLEM DESCRIPTION

PHP 8.2.17 is not checking files of changes during runtime. Only after a restart which resets the opcache.

STEPS TO REPRODUCE

Activate PHP FPM version 8.2.17 and use it an your test hosting as nginx aplication not using proxy. It should make no difference but at least I used nginx.
Create a file in / called systeminfo.php with these content:

Code:
<?php
function getSystemValue() {
    return php_uname();
}
echo getSystemValue();
?>
Go to your example website to the url example.com/systeminfo.php and see that i prints a line with information about your host like host name and versions.
Now change file content of the file to this:
Code:
<?php
function getSystemValue() {
    return php_uname(n);
}
echo getHostname();
?>
Save it, and refresh the the site with example.com/systeminfo.php

ACTUAL RESULT

You will see the same information as before. The file is cached by PHP.

EXPECTED RESULT

Now restart the corresponding PHP FPM Service on your host, and you will see, when you take another look at /systeminfo.php it only shows the host name. As expected.

ANY ADDITIONAL INFORMATION

I have downgraded everything on my Server to PHP 8.1.27, where this issue is not present.

YOUR EXPECTATIONS FROM PLESK SERVICE TEAM

Confirm bug
 
This does not seem to be a Plesk issue, but rather a PHP issue that should be reported to PHP developers.
 
It was opcache.validate_timestamps =0 in my main php.ini of php 8.2 not in 8.1
; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
I don't know this was turned off.
This is resolved.
 
Back
Top