安装
你可以快速轻松的安装CakePHP. 基本要求你要有一个Web服务器和一个CakePHP的副本文件,虽然本手册主要侧重于建立在Apache(因为它是最常用的),你可以配置CakePHP的在各种Web服务器,如LightHTTPD或Microsoft的IIS中运行。
技术上数据库引擎不是必需的,但我们可以想象,大多数应用程序都将需要一个。CakePHP的支持多种数据库存储引擎:
CakePHP的授权为MIT。 这意味着你可以自由地修改,分发和重新发布他的源代码在保留其版权声明的情况下。 您也可以自由的将CakePHP应用于任何商业或闭源应用程序中。
主要有两种方式获得CakePHP的全新副本。 您可以从主网站下载的存档的副本(zip/tar.gz/tar.bz2),或从git仓库获取。
下载CakePHP的最新的版本。 访问主站 http://cakephp.org 并点击 “立即下载” 链接。
CakePHP的所有版本都托管在 GitHub. GitHub网站包含CakePHP的本身以及许多其他CakePHP的插件的。CakePHP的版本可在 GitHub 获取。
另外,您可以得到最新的非正式发布的代码,所有的错误修复和最新的增强功能。这些都可以从克隆的 GitHub 获取:
git clone git://github.com/cakephp/cakephp.git
CakePHP使用app/tmp目录为一些不同的操作。 例如模型的描述,缓存视图和会话信息。
因此,请确保该app/tmp目录及其所有子目录中拥有安装CakePHP用户的可写权限。
设置CakePHP很简单可以直接将它拷贝到你的web服务器的文档目录下,或作为复杂的,如你所愿灵活。本节将涵盖CakePHP的三个主要安装类型:开发,生产,和高级。
通过开发应用程序是快速设置CakePHP的很好的方法。这个例子可以帮助你安装一个CakePHP的应用程序,并让其可以在 http://www.example.com/cake_2_0/进行访问。 我们假设在这个例子中你的文档目录被设置为 /var/www/html.
解压CakePHP的压缩文件到/var/www/html目录中。现在将你所在文档目录中的文件夹名称修改(如 cake_2.0.0)。将些文件夹重命名为 cake_2_0.。你的开发设置看起来会向下面的这样的文件系统:
/var/www/html/
cake_2_0/
app/
lib/
plugins/
vendors/
.htaccess
index.php
README
如果您的Web服务器配置正确,你现在应该找到你的CakePHP应用程序的访问地址如下:
git clone git://github.com/cakephp/cakephp.git /home/mark/projects/cakephp
include_path = .:/home/mark/projects/cakephp/lib:/usr/local/php/lib/php
如果你是在Windows上,单独的include路径使用;而不是:
产品模式安装是一种更加灵活的方式来设置CakePHP。 使用这种方法允许整个域作为一个单一的CakePHP应用程序。这个例子将帮助你在你的文件系统的任何地方安装CakePHP,并使其可在http://www.example.com进行访问。 请注意,此安装可能需要正确的,改变 DocumentRoot 在Apache Web服务器上。
解压CakePHP压缩文件的内容到您选择的目录。对于这个例子,我们假设你选择安装了CakePHP/ cake_install。 您的安装程序将看起来像这样的文件系统:
/cake_install/
app/
webroot/ (this directory is set as the ``DocumentRoot``
directive)
lib/
plugins/
vendors/
.htaccess
index.php
README
好吧,让我们来看看CakePHP的动行情况。 根据你的设置,你应该将浏览器指向 http://example.com/ 或 http://example.com/cake_install/。在这一点上,你将会看到CakePHP的默认主页,和一个消息,告诉你当前的数据库连接的状态。
恭喜你!你准备好 创建你的第一个 CakePHP 应用程序。
不能正常工作? 如果你获得了一条关于 timezone 的 PHP 错误请注释掉在 app/Config/core.php文件中的相关行:
/**
* Uncomment this line and correct your server timezone to fix
* any date & time related errors.
*/
date_default_timezone_set('UTC');