Если в функции getLocalPath() (в файле /bitrix/modules/main/tools.php) добавить статическую переменную, содержащую наличие каталога local, то общее количество вызовов file_exists() можно уменьшить примерно на 25% (что соответствует примерно 2% общей нагрузки сервера).
Актуально для всех продуктов с ядром D7 (по-моему, начиная с версии главного модуля 14.0.1).
function getLocalPath($path, $baseFolder = "/bitrix") { $root = rtrim($_SERVER["DOCUMENT_ROOT"], "\\/"); static $haveLocalDir = null; if( $haveLocalDir === null ) $haveLocalDir = is_dir($root."/local"); if ($haveLocalDir && file_exists($root."/local/".$path)) { return "/local/".$path; } elseif (file_exists($root.$baseFolder."/".$path)) { return $baseFolder."/".$path; } return false; } |
Актуально для всех продуктов с ядром D7 (по-моему, начиная с версии главного модуля 14.0.1).