Ich versuche, PHP Opcache nach einer Symlink-Stil-Bereitstellung zurücksetzen. Es ist die opcache_reset.php
Datei in meinem Projekt, das von wget
nach dem Dokument root Symlink Ersatz ausführt:PHP Opcache Reset + Symlink-Stil-Bereitstellung
<?php
clearstatcache(true);
opcache_reset();
Trotz alledem werden die alten Dateien noch verwendet. Laut opcache_get_status()
Ausgabe wird die Nummer manual_restarts
erhöht, last_restart_time
bleibt auf dem neuesten Stand, aber die Dateipfade bleiben veraltet. Ich muss opcache_reset.php
manuell nach einer Minute oder nach der Bereitstellung anrufen, um die Dinge richtig zu machen.
PHP-Version ist 5.5.6, ZendOpcache ist 7.0.3-dev. Opcache config:
opcache.blacklist_filename => no value
opcache.consistency_checks => 0
opcache.dups_fix => Off
opcache.enable => On
opcache.enable_cli => On
opcache.enable_file_override => Off
opcache.error_log => no value
opcache.fast_shutdown => 1
opcache.force_restart_timeout => 180
opcache.inherited_hack => On
opcache.interned_strings_buffer => 8
opcache.load_comments => 1
opcache.log_verbosity_level => 1
opcache.max_accelerated_files => 4000
opcache.max_file_size => 0
opcache.max_wasted_percentage => 5
opcache.memory_consumption => 128
opcache.optimization_level => 0xFFFFFFFF
opcache.preferred_memory_model => no value
opcache.protect_memory => 0
opcache.restrict_api => no value
opcache.revalidate_freq => 60
opcache.revalidate_path => Off
opcache.save_comments => 1
opcache.use_cwd => On
opcache.validate_timestamps => On
Ich benutze die gleichen NGINX Richtlinien. Allerdings muss ich php fpm neu laden, um sicherzustellen, dass php fpm den Code aus dem neuen Verzeichnis verwendet. Das Nachladen von fpm lässt mich allerdings einige Anfragen verlieren. Wenn ich fpm nicht neu lade, führt es immer noch Code im alten Verzeichnis aus. Das gleiche Problem hier beschrieben: http://serverfault.com/questions/630573/atomic-deploymements-with-nginx-and-php-fpm Können Sie helfen? –