public function compileScripts() { if (!extension_loaded('apc')) { return; } $files = array(); foreach ($this->_refresh_rules as $rules) { $rules = (object) $rules; $files = array_merge($files, File::getFilesFromDirectory($rules->dir, $rules->extension, $rules->recursive)); } foreach ($files as $file) { if (!$this->isFileCached($file)) { if ($d = \apc_delete_file($file)) { Logger::debug('Elimino dalla cache lo script ' . $file . ' per ricompilarlo', RENDER_CORE_LOGNAME); } else { Logger::debug('Non sono riuscito ad eliminare ' . $file . ' ' . print_r($d, true)); } if ($d = \apc_compile_file($file)) { Logger::debug('Ho compilato lo script ' . $file, 'core'); } else { Logger::debug('Non sono riuscito a compilare ' . $file . ' ' . print_r($d, true), 'core'); } } } }
public function compileScripts() { if (!extension_loaded('Zend OPcache')) { return; } $files = array(); foreach ($this->_refresh_rules as $rules) { $rules = (object) $rules; $files = array_merge($files, File::getFilesFromDirectory($rules->dir, $rules->extension, $rules->recursive)); } foreach ($files as $file) { if (!\opcache_is_script_cached($file)) { // questo ciclo dovrebbe farlo solo allo start del ws, dato che una volta che sono tutti cacheati, controlla lui // se ci sono modifiche da fare dopo i secondi opcache.revalidate_freq passati dalla memorizzazione alla request Logger::debug('Ho compilato lo script ' . $file . ' perchè non era compilato', RENDER_CORE_LOGNAME); opcache_compile_file($file); } } }
/** * Salva sul file $file il contenuto della struttura * @param String|Filename|\kernel\File $file */ public function write($file) { if (!$file instanceof File) { $file = new File($file); } $file->close(); $file->setMode('w'); $file->fopen(); $buffer = ''; if ($this->_process_sections == true) { //ogni indice è una sezione foreach ($this->toArray() as $section => $data) { $buffer .= $this->writeSection($section, $data); $buffer .= PHP_EOL; } } else { $buffer .= $this->writeSection('section', $this->toArray()); } $file->write($buffer); }