Vit*_*kov 19 php deployment symlink opcache
我试图在符号链接式部署后重置PHP opcache.opcache_reset.php
我的项目中的文件在wget
文档根的符号链接替换后执行:
<?php
clearstatcache(true);
opcache_reset();
Run Code Online (Sandbox Code Playgroud)
尽管如此,仍然使用旧文件.根据opcache_get_status()
输出,manual_restarts
增加的数量last_restart_time
保持最新,但文件路径仍然过时.我需要opcache_reset.php
在部署后一分钟左右手动调用以使事情正确.
PHP版本是5.5.6,ZendOpcache是7.0.3-dev.Opcache配置:
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
Run Code Online (Sandbox Code Playgroud)
Vit*_*kov 41
ZendOptimizerPlus问题中描述的原因和两种可能的解决方案.我们通过$realpath_root
在nginx配置中使用来解决它:
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您由于某种原因无法将 fastcgi_param 与$realpath_root
符号链接样式部署一起使用,请尝试opcache.revalidate_path = On
在 php ini 配置中进行设置。我无法找到任何好的文档来解释这个 ini 目录在幕后如何工作,但在我更改符号链接后它确实起作用了。希望这对任何人都有帮助。
归档时间: |
|
查看次数: |
5680 次 |
最近记录: |