是否可以一次为 vqmod 生成所有 vqcache 文件?
我想在服务器负载低时运行此脚本一次,它将遍历所有 qmod 文件并应用所有更改,准备好并等待高负载。
这也会提醒我任何 vqmod 错误,而不必等待它们发生。
例如,当我安装/卸载扩展时,我还需要卸载 vqmod 扩展:
/**
* install/uninstall vqmod files for extension
*
* @param string $action = install/uninstall
*/
private function _vqmodAction($action){
$vqmod_path = str_replace("system", "vqmod", DIR_SYSTEM);
// Clear vqmod cache
$files = glob($vqmod_path.'vqcache/vq*');
if ($files) {
foreach ($files as $file) {
if (file_exists($file)) {
@unlink($file);
clearstatcache();
}
}
}
// Force vqmod to re-generate cache
global $vqmod;
$vqmod->modCheck(DIR_SYSTEM . 'startup.php');
// Re-name vqmod files
$vqmod_xml_path = $vqmod_path . "xml/";
$vqmod_files = array('file', 'file_languages', 'file_admin');
foreach($vqmod_files as $filename){
if($action == "uninstall"){
$from = '.xml';
$to = '.xml_';
} else {
$from = '.xml_';
$to = '.xml';
}
if (file_exists($vqmod_xml_path.$filename.$from)) {
rename($vqmod_xml_path.$filename.$from, $vqmod_xml_path.$filename.$to);
}
}
return true;
}
modCheck 启动.php 的原因是因为这包括所需的文件和通过 vqmod 所做的更改。这是处理这种情况的正确方法吗?