CakePHP中文手册【翻译】-安装CakePHP
安装CakePHP
第1节
介绍
现在你知道关于所有CakePHP库的结构和目的了,或者你已经直接跳到本部分,因为你不关心这些材料,而仅想开始玩玩这框架。不管怎样,你已经做好让你双手受累的准备了。J
本章介绍在server上必须安装什么,配置server的不同方式,以及下载和安装CakePHP并设置缺省的CakePHP页面,还有一些疑难问题的技巧,仅仅是在那些不按计划工作的情况。
第2节
需求
为使用CakePHP,首先必须让server安装所有需要的库和程序来运行CakePHP:
Server 需求
下面是建立Server来运行CakePHP所需要的:
1.
HTTP server(例如Apache),需要启用的有:Session,mod_rewrite(不是绝对需要,但最好打开)
2.
PHP4.3.2或更高。没错,CakePHP在PHP4或PHP5下工作得很好。
3. 数据库引擎(现在,有MySQL,PostgreSQL,以及ADODB包的支持)。
第 3节
安装CakePHP
获取最新的稳定版本
有多种方式得到CakePHP的拷贝:从CakeForge得到一个稳定的发行版,抓取一个每日构建版本,或从SVN得到最新版本的代码。
为了下载一个稳定版本的代码,检查一下 CakForge的CakePHP项目的文件区,访问http://cakeforge.org/projects/cakephp/.
为了获取一个每日构建版本,从http://cakephp.org/downloads/index/nightly下载一个。这些每日版本是稳定的,他们常常包括了稳定发行版间的bug修复。
为了从SVN库里获取新的拷贝,使用你喜爱的SVN客户端连接到https://svn.cakephp.org/repo/trunk/cake/,并选择你寻找的版本。
解压缩
既然已经下载最新的发行版,将压缩包放在web server的webroot下。现在你需要解压缩CakePHP包。有2种方式,一是使用开发安装,他允许你非常容易查看单个domain下的多个CakePHP应用程序,或者使用产品安装,它允许domain仅安装一个CakePHP应用程序。
第4节
建立CakePHP
第一种安装CakePHP的方法一般只在开发环境下推荐,因为它不够安全。第二种方法考虑到更多安全,可以在产品环境下使用。
注:对Web server运行的用法来说,/app/tmp 必须是可写的
开发安装
对于开发,我们可以将整个Cake安装目录放在DocumentRoot指定的那里,如下:
/wwwroot
/cake
/app
/cake
/vendors
.htaccess
index.php
|
在此安装里,wwwroot文件夹是作为web根目录的,因此URL会像如此(如果也使用了mod_rewrite):
www.example.com/cake/controllerName/actionName/param1/param2 |
产品安装
为了利用产品安装,你需要有改变Server上DocumentRoot的权限。这样做会让整个domain作为单个CakePHP应用程序。
产品安装使用下面的布局:
../path_to_cake_install
/app
/config
/controllers
/models
/plugins
/tmp
/vendors
/views
/webroot <-- 它应该是你的新DocumentRoot .htaccess
index.php
/cake
/vendors
.htaccess
index.php
|
建议的产品httpd.conf
DocumentRoot /path_to_cake/app/webroot
|
在此安装里,webroot目录是web根目录,因此URL可能会像这样(如果你正在使用using mod_rewrite):
http://www.example.com/controllerName/actionName/param1/param2 |
高级安装: 可选的安装选项
存在多种情况,在这些情况里,你愿意将Cake的目录放在不同的磁盘位置。这可能因为一个共享的主机限制,也可能想让一些应用程序共享同样的Cake库。
对一个Cake应用程序,这里有3个主要部分:
1. 核心的 CakePHP库 – 在
/cake找到
2.
你的应用程序代码(例如,controller,model,layout以及view)-在 /app找到
3.
应用程序的webroot文件(例如:images,javascript,以及css)-在 /app/webroot找到
这些目录的每一个都可以放在文件系统的任何位置,除了webroot,它需要web server才可以访问。你甚至可以将webroot文件夹移出app文件夹,只要你告诉Cake你把他们放在哪里了。
为配置Cake安装,你需要对/app/webroot/index.php (在Cake发布)做出一些修改。有3个参数需要编辑:ROOT, APP_DIR, and CAKE_CORE_INCLUDE_PATH.
1.
ROOT可以设置为包含app文件夹的目录的路径
2.
APP_DIR可以设置为app文件夹的路径。
3.
CAKE_CORE_INCLUDE_PATH可以设置为Cake库文件夹的路径。
/app/webroot/index.php
(部分 ,注释已经移除)
if (!defined('ROOT')) |
一个例子可能会帮助你更好的描述它。假想我打算建立Cake和下面的安装一起工作:
1.
我想让我的Cake库和其他应用程序分享,并放在usr/lib/cake.
2.
我的Cake
webroot目录应该为/var/www/mysite/。
3.
我的应用程序文件存储在/var/www/mysite/.
文件安装如下:
/home
/me
/mysite <-- 以前为 /cake_install/app /config
/controllers
/models
/plugins
/tmp
/vendors
/views
index.php
/var
/www
/mysite <-- 以前为 /cake_install/app/webroot /css
/files
/img
/js
.htaccess
css.php
favicon.ico
index.php
/usr
/lib
/cake <-- 以前为 /cake_install/cake /cake
/config
/docs
/libs
/scripts
app_controller.php
app_model.php
basics.php
bootstrap.php
dispatcher.php
/vendors
|
考虑这种类型的安装,需要编辑webroot index.php文件(在本例中它应该在/var/www/mysite/index.php),如下:
建议使用‘DS’常量而非斜杠(“/”)来分隔文件路径。它阻止任何使用错误分隔符带来的‘丢失的文件’错误,并且使你的代码更加具有可移植性。
if (!defined('ROOT')) |
第5节
配置Apache 和 mod_rewrite
当CakePHP和mod_rewrite工作时,我们已经注意到一些用户努力让任何事情在他们系统上运行的非常好。这里有一些东西,你可以试试他们让它正确运行:
1.
务必让.htaccess
覆写打开:在httpd.conf里,应该有一个块,它为Server上的每个Directory定义了一个块。务必使AllowOverride 对相应的Directory设置为All
2.
务必编辑系统级的httpd.conf,而不是用户或site级的httpd.conf。
3.
因为某些原因或其他,你可能已经得到一份并不必须需要的.htaccess文件的CakePHP。有时它会发生的,因为某些操作系统将为以‘.’开头的文件看作为隐藏文件,不要拷贝他们。务必让你的CakePHP来自site的下载部分或SVN。
4.
务必正确加载mod_rewrite!你应该看看一些在httpd.conf文件里的例如像LoadModule rewrite_module libexec/httpd/mod_rewrite.so 和AddModule mod_rewrite.c的东西。
5.
如果你正在将Cake安装到一个用户目录下(http://example.com/~myusername/),你需要修改Cake安装目录基础(base)目录的.htaccess文件。仅加上一行:"RewriteBase /~myusername/
".
6.
如果因为某些原因,URL的前缀是一个长而且讨厌的Session ID(http://example.com/posts/?CAKEPHP=4kgj577sgabvnmhjgkdiuy1956if6ska),你也可以在安装根目录下的.htaccess文件中加入"php_flag
session.trans_id off
"
第6节
确保它正在工作
好吧,让我们看看运行的孩子吧。依赖你安装的方式,你应该将你的浏览器指定到http://www.example.com 或http://www.example.com/cake.此时,你会看到CakePHP的缺省页面,以及一个消息,此消息告诉你当前数据库链接的状态。
恭喜你!你已经为开始创建你的第一个基于Cake的应用程序做好准备了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?