当前位置: 首页 > 文档资料 > FuelPHP 中文文档 >

指示 - 安装

优质
小牛编辑
129浏览
2023-12-01
选择一项:命令列安装 | 手动安装

命令列安装

目前只能在 *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 类别里的 类别常数