• About Me




    Lily@Melbourne, Australia

    Login

  • Follow 静水深流 || Still waters run deep on WordPress.com
  • Archives

CakePHP安装

每一次安装新东西,总是犹如伤筋动骨那般折磨人,上次是装ASP这次是CakePHP。从开始下载文件(开放软件)到屏幕一片绿油油(正常),一共花了5个半小时,比之前还是有所提高。

首先介绍下CakePHP:顾名思义,它是建立在PHP上的,简化原本复杂的程序语言,使之它像a piece of cake那么容易消化。更形象地一个比喻,它就是在IEKA提货区拿到手的封装成扁平的物品,而你所要做的就是带回家把这些条条块块拼装成实用的家具。PHP程序员已经把系统所要求的基本功能写进仓库,而用户(我)只是要把它调用出来,为我所用。最好的事,它是Open-source!

  1. 在安装CakePHP(简称蛋糕)前,必须要有Apache server with mod_rewrite, php(现在通用的好像是5.28), Mysql(蛋糕也支持Oracle的,我的最爱阿。不过第一Mysql是默认数据库,而且一般小型企业用不起Oracle 再说语句差不多,所以首选Mysql)。可以通过WAMP 或者XAMPP,把这3个前提条件一口气完成。
    a. WAMP  http://www.wampserver.com or
    b. XAMPP http://www.apachefriends.org
  2. 下载蛋糕:http://cakephp.org/
  3. 把蛋糕.zip文件解压缩到网络服务目录里。e.g. 我是用WAMP的, 在安装它的硬盘里找到wamp\www\蛋糕
     
  4. 在浏览器输入localhost\CakePHP,(你的可能是cakphp_1.2.x,为了以后的方便,把目录名改成CakePHP) 幸运的话你会看到如下窗口,请直接跳到8(其实即便如此离成功还要好几步)Interface
  5. 我的情况是一片空白,原因是80端口被IIS给霸占了,Apache上不去。很搞笑的是,我这台用的系统是vista basic home版的,连IIS这个标记都不曾在控制面板\管理工具里出现过,可是它依然占着80不作为!如此网上说的让IIS挪位置的办法就行不通了,我甚至还试过打开/关闭windows功能也拿它没辙。在连连碰壁之后,忽然想到可以让Apache换个端口, 修改的方法是打开Apache\conf下的httpd.conf(用记事本即可),查找到所有80端口,然后改成你想要的数字,通用的是8080。譬如#Listen 12.34.56.78:8080
    Listen 8080
    记得,所有配置文件的改动,都要关闭/重启Apache !important
    如果成功的话,WAMP图标应该变成绿色的。
  6. 在浏览器上这时得输入localhost:8080,这时总算应该可以看到WAMP的欢迎界面

    WAMP

  7.  可在浏览器上转到蛋糕目录,说you don’t have permission to access。。修改的方法是打开Apache\conf下的httpd.conf(用记事本即可),查找到所有关键字为Deny from,然后改成Arrow from,保存。
  8. 这时蛋糕的首页出现了(如4)首先要改Salt,它的作用就是加密用的,这个说来话长,反正这里所要知道的就是每个人的盐不能一个样,得改成具有个人特色的盐。
    •  Security.salt 在app/Config/core.phpConfigure::write(‘Security.salt’,‘DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi’); //这里得改,随便改,改一个也行,只要保持位数即可• Security.cipherSeed in app/Config/core.php

    Configure::write(‘Security.cipherSeed’,

    76859309657453542496749683645‘); //这里也得改,方法同上

     

  9. 改名字:app/Config/database.php.default 变为 database.php。我的作法是同时保留这2个文件,比较安全。
  10. 然而还有错误, Apache-rewrite error,很抱歉,这个做的时候没有截屏,没法图片说明(后来在另一台服务器上碰到同样的问题,赶紧拦截下来,看来这个问题很普遍 )。解决的方法是,点击链接到http://book.cakephp.org/2.0/en/installation/advanced-installation.html#apache-and-mod-rewrite-and-htaccess。我做到第二步完成(原因是过了第7步),还好没一路辛苦走到底结果还是条死路。
  11. phpmyadmin碰到同样的权限问题,方法也类似,找到wamp\alias\phpmyadmin.conf文件,更换
    <Directory “cwamp/apps/phpmyadminx.x.x/”>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order Deny,Allow
    Allow from all //改动的地方
    </Directory>到此,蛋糕终于朝你笑了。听上还可以吧,不过做的时候还真是很耗脑细胞的。
  12. 写完之后,才发觉还有一步没有搞定,连接数据库。首先创建一个新的数据库和一个表格,然后在database.php,在61行左右(这个还是用DW之类的打开,记事本太伤眼睛了)
    找到public $default = array(
    ‘datasource’ => ‘Database/Mysql’,
    ‘persistent’ => false,
    ‘host’ => ‘localhost’,
    ‘login’ => ‘user’,
    ‘password’ => ‘password’,
    ‘database’ => ‘database_name’,
    ‘prefix’ => ”,
    //’encoding’ => ‘utf8’,
    );改为

    public $default = array(
    ‘datasource’ => ‘Database/Mysql’,
    ‘persistent’ => false,
    ‘host’ => ‘127.0.0.1’,
    ‘login’ => ‘root’, //默认是root
    ‘password’ => ‘ ‘, /*whatever password you specified,默认是没有密码的‘’ */
    ‘database’ => ‘CakeDB’, //你新数据库的名字,这个叫CakeDB,任意
    ‘prefix’ => ”,
    //’encoding’ => ‘utf8’,
    );

  13. 我在另一台机器上安装时还碰到过PHP时钟的问题,因为那机子上以前也装过PHP,所以当我修改php.ini时,鬼使神差地跑到了原先的目录上去,所以无法关关开开多少次,那个错误信息永远都在,想想就很沮丧。它的默认时区是date.timezone = UTC,改成当地的即可,千万别加引号,直接Asia/Shanghai, 就好了。
    //Shanghai, China, Asia
    date.timezone = “Asia/Shanghai”
    date.default_latitude = 31.5167
    date.default_longitude = 121.4500//很骄傲,上海也能用自己的名字,下面是经纬度,在机场时常常看到阿:)

正事还一桩没干,5个半小时就过去了,不过当看到成功的画面还是颇感欣慰与得意,又花了差不多1个小时写下这篇说明文,希望别人可以不走我的弯路。

Advertisements

一条回应

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: