Example #1
0
 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');
             }
         }
     }
 }
Example #2
0
 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);
         }
     }
 }
Example #3
0
 /**
  * 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);
 }