У меня есть бизнес-логика, в которой я хочу сгенерировать код PHP во время выполнения и поместить его во временный файл, затем включить / require / (скомпилировать как opcache) и удалить этот файл. Я использую opcache и хочу скомпилировать / кэшировать этот недавно сгенерированный код перед удалением файла.
всякий раз, когда я создаю этот файл вручную и скомпилирую / кэширую его через opcache, команда opcache_is_script_cached выдает true. Но когда я создаю файл во время выполнения, команда opcache_is_script_cached выдает false.
<?php
if(!opcache_is_script_cached('/var/tmp/somefile.tmp')) {
file_put_contents('/var/tmp/somefile.tmp', file_get_contents('var/www/html/somefolder/somefile.php'));
opcache_compile_file('/var/tmp/somefile.tmp');
unlink('/var/tmp/somefile.tmp');
}
Как только этот код выполняется и кэшируется в opcache, он не должен входить в условие "if" и генерировать файл кода снова и снова каждый раз.