@@ -1847,7 +1847,9 @@ zend_persistent_script *zend_file_cache_script_load(zend_file_handle *file_handl
1847
1847
zend_accel_error (ACCEL_LOG_WARNING , "opcache cannot read from file '%s' (info)\n" , filename );
1848
1848
zend_file_cache_flock (fd , LOCK_UN );
1849
1849
close (fd );
1850
- zend_file_cache_unlink (filename );
1850
+ if (!ZCG (accel_directives ).file_cache_read_only ) {
1851
+ zend_file_cache_unlink (filename );
1852
+ }
1851
1853
efree (filename );
1852
1854
return NULL ;
1853
1855
}
@@ -1857,21 +1859,26 @@ zend_persistent_script *zend_file_cache_script_load(zend_file_handle *file_handl
1857
1859
zend_accel_error (ACCEL_LOG_WARNING , "opcache cannot read from file '%s' (wrong header)\n" , filename );
1858
1860
zend_file_cache_flock (fd , LOCK_UN );
1859
1861
close (fd );
1860
- zend_file_cache_unlink (filename );
1862
+ if (!ZCG (accel_directives ).file_cache_read_only ) {
1863
+ zend_file_cache_unlink (filename );
1864
+ }
1861
1865
efree (filename );
1862
1866
return NULL ;
1863
1867
}
1864
1868
if (memcmp (info .system_id , zend_system_id , 32 ) != 0 ) {
1865
1869
zend_accel_error (ACCEL_LOG_WARNING , "opcache cannot read from file '%s' (wrong \"system_id\")\n" , filename );
1866
1870
zend_file_cache_flock (fd , LOCK_UN );
1867
1871
close (fd );
1868
- zend_file_cache_unlink (filename );
1872
+ if (!ZCG (accel_directives ).file_cache_read_only ) {
1873
+ zend_file_cache_unlink (filename );
1874
+ }
1869
1875
efree (filename );
1870
1876
return NULL ;
1871
1877
}
1872
1878
1873
1879
/* verify timestamp */
1874
1880
if (ZCG (accel_directives ).validate_timestamps &&
1881
+ !ZCG (accel_directives ).file_cache_read_only
1875
1882
zend_get_file_handle_timestamp (file_handle , NULL ) != info .timestamp ) {
1876
1883
if (zend_file_cache_flock (fd , LOCK_UN ) != 0 ) {
1877
1884
zend_accel_error (ACCEL_LOG_WARNING , "opcache cannot unlock file '%s'\n" , filename );
@@ -1895,7 +1902,9 @@ zend_persistent_script *zend_file_cache_script_load(zend_file_handle *file_handl
1895
1902
zend_accel_error (ACCEL_LOG_WARNING , "opcache cannot read from file '%s' (mem)\n" , filename );
1896
1903
zend_file_cache_flock (fd , LOCK_UN );
1897
1904
close (fd );
1898
- zend_file_cache_unlink (filename );
1905
+ if (!ZCG (accel_directives ).file_cache_read_only ) {
1906
+ zend_file_cache_unlink (filename );
1907
+ }
1899
1908
zend_arena_release (& CG (arena ), checkpoint );
1900
1909
efree (filename );
1901
1910
return NULL ;
@@ -1909,7 +1918,9 @@ zend_persistent_script *zend_file_cache_script_load(zend_file_handle *file_handl
1909
1918
if (ZCG (accel_directives ).file_cache_consistency_checks &&
1910
1919
(actual_checksum = zend_adler32 (ADLER32_INIT , mem , info .mem_size + info .str_size )) != info .checksum ) {
1911
1920
zend_accel_error (ACCEL_LOG_WARNING , "corrupted file '%s' excepted checksum: 0x%08x actual checksum: 0x%08x\n" , filename , info .checksum , actual_checksum );
1912
- zend_file_cache_unlink (filename );
1921
+ if (!ZCG (accel_directives ).file_cache_read_only ) {
1922
+ zend_file_cache_unlink (filename );
1923
+ }
1913
1924
zend_arena_release (& CG (arena ), checkpoint );
1914
1925
efree (filename );
1915
1926
return NULL ;
0 commit comments