配置 - 一般
优质
小牛编辑
129浏览
2023-12-01
简介
FuelPHP 框架是以配置惯例的想法建成。这样的结果是你可以在一个高度可自订的基础上, 开始建立你的应用程序。
配置档案储存在 app/config 文件夹里。 应用程序的基本配置在 app/config/config.php 完成。 载入的配置可依特定环境改变,更多关于此在 环境。
要覆写功能相关配置的设定,在 app/config 建立一个新档案, 或从 core/config 複製相应的档案到 app/config。
配置选项
这些是可以被定义在应用程序中的基本配置档案 app/config/config.php 的选项。 当你刚装好 FuelPHP 时,这个档案是空的。所有如下定义的预设值, 被定义在 core/config 文件夹中的相应档案。当你想要覆写一个预设值时,在你的应用程序配置档案中添加该键到阵列, 并修改值。或者,从核心档案複製该段落到应用程序档案, 并修改它。
FuelPHP 使用 "句点表示法" 处理阵列。它是一种方便存取一个多维阵列元素的方式。 此表示法也用于文件中,因为它提供简单的阵列类型参照。例如:
// 当你看见 "always_load.packages = array()",它是以下的简写:
array("always_load" => array("packages" => array(...) ) );
键 | 类型 | 预设 | 描述 |
---|---|---|---|
base_url | 字串 |
| 应用程序的基础 URL。可以是相对的。必须包含一个斜线。('/foo/'、'http://example.com/') |
url_suffix | 字串 |
| 任何需要被添加到 Fuel 产生的 URL 的后缀。如果后缀是一个副档名, 确认包含点('.html')。 |
index_file | 字串 |
| 主引导程序的档案名称。如果你使用 mod_rewrite,设为 false 或移除。 |
controller_prefix | 字串 |
| 当对应 URI 到控制器类别名称时用来寻找控制器的类别前缀。 如果你想要你的控制器有命名空间或在不同于 app/classes/controller 的文件夹,你必须变更它。 |
profiling | 布林 |
| 是否启用分析器。 |
cache_dir | 字串 |
| 要储存快取档案的资料夹,此资料夹必须是可写入的。 |
caching | 布林 |
| 是否启用档案 finder 快取。 |
cache_lifetime | 整数 |
| 档案 finder 快取存活时间(秒)。 |
ob_callback | 回呼(callback) |
| 给 ob_start() 的回呼(callback),设为 ob_gzhandler 以启用 gzip 输出编码。 |
errors | 阵列 | 阵列,包含配置键以控制检测到错误时的行为: | |
errors.continue_on | 阵列 |
| 在哪一种 php 错误继续执行。见错误处理。 |
errors.throttle | 整数 |
| 在我们停止显示前要显示多少错误。(预防记忆体不足错误) |
errors.notices | 布林 |
| 是否显示 notices。 |
language | 字串 |
| 预设的应用程序语言,由 Lang 类别 使用。 |
locale | 字串 |
| 在一些 php 安装需要给 setlocale() 使用,设定为 false 以防止被设定。 每种 OS 的设定语法会不同,例如 Ubuntu 需要一个 .utf8(编码)后缀。 |
encoding | 字串 |
| 应用程序的预设字元编码。 |
server_gmt_offset | 整数 |
| 当 time() 使用时,伺服器与 GMT 时间戳记以秒为单位的偏移量。 这仅仅是为了改正错误的伺服器配置:time() 应始终回传自 January 1 1970 00:00:00 GMT 以来的秒数。 |
default_timezone | 字串 |
| 伺服器时区。 |
如果你设定这个值,请 务必 确保该时区配置与你伺服器上设定的时区相符。 因为时区计算的运作藉由转化为 GTM,当你时区不相符时,它将导致严重错误。 由于不正确的过期时间计算,将造成在你应用程序中的时间显示不正确,以及 cookie/session 的问题! | |||
log_threshold | 整数 |
| 记录的门槛。什幺等级的讯息要记录,或一个应该被记录的特定讯息等级的阵列。阅读关于可能的值 |
log_path | 字串 |
| 储存纪录的资料夹,此资料夹必须为可写入的。 |
log_date_format | 字串 |
| 在纪录中使用的时间/日期格式。 |
security | 阵列 | 阵列,包含配置键以控制你的应用程序安全: | |
security.csrf_autoload | 布林 |
| 是否自动检查 CSRF 符记。阅读更多关于 CSRF。 |
security.csrf_token_key | 字串 |
| 当检查 CSRF 符记时取回的 $_POST 键。 |
security.csrf_expiration | 整数 |
| 设定 CSRF cookie 的到期时间。任何大于 0 的秒数 cookie 将过期。 |
security.token_salt | 字串 |
| 用来确保产生的安全符记是不可预测的盐。 |
security.allow_x_headers | 布林 |
| 允许 Input 类别在呈现时使用 "X" 表头,例如 HTTP_X_FORWARDED_FOR 或 HTTP_X_FORWARDED_PROTO。 |
security.uri_filter | 阵列 |
| 要用来过滤 URI 的 PHP 函式。 |
security.input_filter | 阵列 |
| 用来过滤输入阵列($_GET、$_POST 和 $_COOKIE)的 PHP 函式。可以被设为 xxs_clean, 根据输入的大小可能导致效能损失。 |
security.output_filter | 阵列 |
| 用来过滤设定给检视变数的 PHP 函式。可以被设为 xxs_clean, 根据变数的大小可能导致效能损失。 |
security.auto_filter_output | 布林 |
| 是否自动编码(htmlentities)检视资料。 |
security.whitelisted_classes | 阵列 |
| 随着输出编码打开,所有传递的物件将被转换为字串或抛出例外, 除非它们是此阵列中类别的实例。 |
cookie | 阵列 | 阵列,包含配置键定义全域的 cookie 设定: | |
cookie.expiration | 整数 |
| 在 cookie 到期前的秒数。 |
cookie.path | 字串 |
| 限制 cookie 可用的路径。 |
cookie.domain | 字串 |
| 限制 cookie 可用的网域。 |
cookie.secure | 布林 |
| 只透过安全连线传输 cookie。 |
cookie.http_only | 布林 |
| 只透过 HTTP 传输 cookie,停用 javascript 存取。 |
module_paths | 阵列 |
| 指向模组目录的路径。当添加一个模组没有指定位置时使用。 |
always_load | 阵列 | 阵列,包含框架初始化时必须载入的项目: | |
always_load.packages | 阵列 |
| 那些套件要自动载入。像这样指定:array('package') 或 array('package' => PKGPATH.'path/to/package')为了让它运作,套件路径必须在 package_paths 被设定 |
always_load.modules | 阵列 |
| 那些模组要自动载入。像这样指定:array('package')。自动载入的模组可藉由 URL 存取。为了让它运作,模组路径必须在 module_paths 被设定 |
always_load.classes | 阵列 |
| 哪些类别要自动载入和初始化。当你想要从套件或模组自动载入一个类别时, 确保那些也被自动载入了! |
always_load.config | 阵列 |
| 哪些配置档案要自动载入。像这样载入一个配置档案进入群组:array('config') 或 array('filename' => 'group')。如果你不想载入档案进入群组,设定群组名称为 null:array('filename' => null)。 |
always_load.language | 阵列 |
| 哪些语言档案要自动载入。像这样载入一个语言档案进入群组:array('lang') 或 array('filename' => 'group')。如果你不想载入档案进入群组,设定群组名称为 null:array('filename' => null)。 |