選擇一項:命令列安装 | 手动安装

命令列安装

目前只能在 *nix 系统(Linux、OS X、Unix、等等)运行。

我們的快速安装程序是一个精简的 Oil 套件介面,能让你以一行命令建立一个新的專案,你也不再需要在你的 Oil 命令前加上 'php'。

要安装快速安装程序,只要打開一个 shell 并执行以下命令:

$ curl get.fuelphp.com/oil | sh

这将会需要你的密码授权,因为它会安装指令码到 /usr/bin。

现在你已经可以在你的專案裡使用 'oil' 这个命令取代 'php oil'。

如果你已经在 1.6 版前安装 oil 指令码,你也必須重新安装來让它运行 composer!

要建立一个新的專案,只要运行:

$ oil create <project_name>

这将在你所給名稱的目录裡建立一个文件夾,接著複製儲存庫中的档案與所有子模組到該目录。

請注意:这也将运行 $ oil refine install,使必要的目录为可寫入, 以及 $ php composer.phar update 來拉取(pull)定義在 composer 的相依套件。

手动安装简介

接下來的方法将在你的虛擬主機根目录安装預設的 Fuel 框架。

從 github 複製最新的发行版本

$ cd /where/ever/your/virtualhost/root/is
$ git clone git://github.com/fuel/fuel.git .
$ ./composer.phar update

從 github 複製最新的开发分支

$ cd /where/ever/your/virtualhost/root/is
$ git clone git://github.com/fuel/fuel.git -b 1.8/develop .
$ ./composer.phar update --prefer-source

或者,你也可以使用 composer 一氣呵成地安装一切:

$ composer create-project fuel/fuel:dev-1.8/develop --prefer-source

別忘了那一个點號,否則这会在你的虛擬主機根目录中建立一个稱为 fuel 的文件夾!

下载 zip 档案

  1. 下载 Fuel 框架
  2. 解壓縮下载的档案
  3. 执行 $ php composer.phar update 來安装所有依賴套件
  4. 将档案移动到你的伺服器
    • 注意:在程式码裡的 public 目录,等於你的網頁伺服器的公開文件目录, 也就是 public_html、public、htdocs 等。移动其內容到这些目录, 或一个你要使用 Fuel 的網頁根目录下的子目录。
    • 安全起見, 放置 Fuel 目录於公開文件目录之外。
    • 编輯 index.php 裡的路徑指向你的应用程序、核心以及套件的目录。
    /
      docs/
      fuel/
        app/
        core/
        packages/
      public/
        .htaccess
        assets/
        index.php
      oil
    

在安装之後,確保框架需要存取文件夾的權限是正確的。 有一个 oil 任務能夠設定預設文件夾为可寫入:

$ php oil refine install
	Made writable: APPPATH/cache
	Made writable: APPPATH/logs
	Made writable: APPPATH/tmp
	Made writable: APPPATH/config

Composer

隨著 1.6 版,FuelPHP 使用 Composer 套件管理器來动態拉取(pull)相依套件, 不管是從 Packagist、Github、或從一个自定義位置。 從 1.7.2 版開始,所有 FuelPHP 框架元件也透過 composer 安装。 Composer 是经由 composer.json 档案控制,你会在你的 FuelPHP 安装的根目录找到它。为了方便, 我們包括了 composer.phar 函式庫,这樣你就可以直接执行 composer:

$ php composer.phar self-update
$ php composer.phar update

如果你沒有执行此步驟,FuelPHP 将不会啟动,因为整个框架元件是透過 composer 被載入!

配置

主要的配置在 app/config/config.php,根據你的喜好编輯它。

安装在文件根目录

如同第三點所提及的,为了安全起見,我們非常建議将 Fuel 安装在文件根目录。

不過,也有一些情況下你想这樣做,例如:在(本地)开发环境,使用 Apache 的动態質量虛擬主機模組(Apache's dynamic mass virtual hosting module) 快速設定新的开发环境,而不須重啟網頁伺服器。

如果你需要它,在你已经設計用做安装根目录的文件夾安装 FuelPHP。在你完成之後,進到 public 文件夾, 把 public 文件夾的東西移动到上一層,并移除 public 文件夾。該文件夾唯一的目的是为你的網頁伺服器根文件提供錨點。 你不再需要它了,因为你已经在根文件的文件夾安装 FuelPHP。

在移动之後,變更你的 index.php 中的应用程序、套件和框架核心位置为:

define('APPPATH', realpath(__DIR__.'/fuel/app/').DIRECTORY_SEPARATOR);
define('PKGPATH', realpath(__DIR__.'/fuel/packages/').DIRECTORY_SEPARATOR);
define('COREPATH', realpath(__DIR__.'/fuel/core/').DIRECTORY_SEPARATOR);

那關於多个文件夾深度呢?

并沒有什么不同,過程完全一樣。

然而在这種情況下,由於牽涉文件夾結構,存取你的应用程序可能会有點複雜。 但你不能只是放一个简单的 .htaccess,你可能仍然想要存取安装在相同文件夾結構下的其他東西。

假設你已经在根文件的 "/deep/sub/folder" 文件夾中安装了 FuelPHP, 你通常不得不使用 URL http://example.org/deep/sub/folder 來存取你的 FuelPHP 应用程序。

Apache

透過放置此 .htaccess 到更高的文件夾,如果沒有找到相符的档案或目录名稱, 你可以让瀏覽器重導向到你的 FuelPHP 应用程序:

<IfModule mod_rewrite.c>
	RewriteEngine on

	# 发送請求到子文件夾,如果它不是真實档案、文件夾,或者它是 root 請求
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d [OR]
	RewriteCond $1 ^$

	RewriteRule ^(.*)$ /deep/sub/folder [R=301,L]
</IfModule>

請注意,这会做重導向,因此它不会在來自使用者的路徑中隱藏子文件夾。如果你希望如此,使用这來代替:

<IfModule mod_rewrite.c>
	RewriteEngine on

	# 发送請求到子文件夾,如果它不是真實档案、文件夾,或者它是 root 請求
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d [OR]
	RewriteCond $1 ^$

	RewriteRule ^(.*)$ /deep/sub/folder [QSA,L]
</IfModule>

很顯然,如果你把它放在 "sub" 文件夾中,你可以在 URL 隱藏 "sub/folder",但沒有 "deep"……

請注意,啟用 .htaccess 会大大拖慢你的 Apache 伺服器。如果你能連到伺服器配置, 考慮停用这个功能,并添加 rewrite 規則到 virtualhost 定義。

Nginx

Nginx 不支援客戶端配置档案,所以你需要为虛擬主機添加 rewrite 到 Nginx 配置档案中。 你可以使用这个做为指南:

server {
	server_name fuelphp.local;

	# 確保 Nginx 可以寫入这些档案
	access_log /var/www/fuelphp/nginxlogs/access.log;
	error_log /var/www/fuelphp/nginxlogs/error.log;
	root /var/www/fuelphp/public;

	location / {
		index index.php;
		try_files $uri $uri/ /deep/sub/folder/index.php$is_args$args;
	}

	location ~ \.php$ {
		include /etc/nginx/fastcgi_params;
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_index index.php;
		fastcgi_param FUEL_ENV "production";
		fastcgi_param SCRIPT_FILENAME /var/www/fuelphp/public$fastcgi_script_name;
	}
}

設定环境

預設情況下,环境設定为开发模式。Fuel 使用环境去定義使用哪个資料庫設定,但你也可以應用在其他事情上。

要設定环境,将以下这行放進你的 .htaccess 中。

SetEnv FUEL_ENV production

對於 Nginx,你使用如上範例所見的 "fastcgi_param" 語句。詳細可用選項在 Fuel 类別裡的 类別常数