|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits              [2021-07-08 13:14 UTC] cmb@php.net
 
-Status:      Open
+Status:      Feedback
-Assigned To:
+Assigned To: cmb
  [2021-07-08 13:14 UTC] cmb@php.net
  [2021-07-18 04:22 UTC] php-bugs at lists dot php dot net
 | |||||||||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 04:00:01 2025 UTC | 
Description: ------------ 1. My php.ini file for opcache is the default configuration. 2. Bug description: When I use include_once to load a config.php file I found that if I delete and recreate the new config.php file.It will not load the current file and include_once return false.But,it don not load the current file correctly either. I use this test script to show what I mean. There are test steps: - create a test.php in your web server root path. - access the test.php with browser - see the output for get_included_files,it will be : Array ( [0] => /home/vaxilicaihouxian/codes/php/ect/eastsea.app/test.php ) 123Array ( [0] => /home/vaxilicaihouxian/codes/php/ect/eastsea.app/test.php [1] => /tmp/abc.php ) - access the test.php with browser again,the output will be: 123 - remove the /tmp/abc.php with command `rm -f /tmp/abc.php` - access the test.php with browser finally and the output is: Array ( [0] => /home/vaxilicaihouxian/codes/php/ect/eastsea.app/test.php [1] => /tmp/abc.php ) Array ( [0] => /home/vaxilicaihouxian/codes/php/ect/eastsea.app/test.php [1] => /tmp/abc.php ) 3. Why there is the `/tmp/abc.php` in the finally output array of get_included_files() .It dose not exits but has been included with include_once. So the second include_once will not work to include my new generating config.php. Test script: --------------- <?php if(!@include_once('/tmp/abc.php')){ print_r(get_included_files()); swritefile('/tmp/abc.php','<?php echo 123;'); include('/tmp/abc.php'); print_r(get_included_files()); } function swritefile($filename, $writetext, $openmod='w') { if (@$fp = fopen($filename, $openmod)) { flock($fp, 2); fwrite($fp, $writetext); fclose($fp); return true; } } Expected result: ---------------- It should load the new generating file correctly and not ignore by the first include_once function. Actual result: -------------- The second include_once function ignore the config file.