Skip to content

\$use_sub_dirs {/programmers/api-variables/variable-use-sub-dirs/}

如果将 $use_sub_dirs 设置为 TRUE(默认为 FALSE),Smarty 将在 compiled templatescache 目录下创建子目录。在可能创建数万个文件的环境中,这可能有助于提高文件系统的速度。然而,某些环境不允许 PHP 进程创建目录,因此必须禁用此选项,这也是默认设置。

使用子目录可以提高效率,因此如果可以的话,请使用它们。从理论上讲,在每个目录下有 100 个文件的文件系统上,与只有 1 个目录下有 1000 个文件的文件系统相比,性能会更好。在 Solaris 7(UFS)中确实如此……在较新的文件系统(如 ext3 和尤其是 reiserfs)中,差异几乎可以忽略不计。

注意

  • $use_sub_dirs=truesafe_mode=On 下无法工作,这就是为什么它是可切换的,并且默认情况下处于关闭状态。

  • 在 Windows 上使用 $use_sub_dirs=true 可能会导致问题。

  • 在 PHP6 中,safe_mode 将被弃用。

参考 $compile_id$cache_dir$compile_dir