配置Apache2.2+PHP5+CakePHP1.2+MySQL5運(yùn)行環(huán)境
1. 安裝配置Apahce
安裝配置Apache是比較簡(jiǎn)單的, 跟著安裝向?qū)б徊讲酵伦呔湍芨愣?。最多就是在配置端口的地方需要注意一下,如果已?jīng)安裝了其它Web服務(wù)器占用了80端口,那記得配置的時(shí)候選一個(gè)別的端口。向?qū)е型嗽O(shè)置,在Apache的conf/httpd.conf中修改下面這句就好:
2. 安裝配置PHP5
PHP5也是一路安裝就完了。要讓Apache能解釋PHP頁(yè)面,繼續(xù)修改Apache的conf/httpd.conf文件。 首先,假設(shè)PHP5是安裝在D:\php5目錄。
首先是要在Apache中載入PHP5的模塊,加下面這句:
然后是讓Apache認(rèn)識(shí)PHP頁(yè)面的Mime,找到<IfModule mime_module>塊,在這個(gè)塊里加一句AddType語(yǔ)句:
...
AddType application/x-httpd-php .php
...
</IfModule>
最后還要把index.php設(shè)置成默認(rèn)頁(yè)面,這樣在瀏覽時(shí)沒(méi)指定頁(yè)面的情況下會(huì)自動(dòng)找到index.php。找到<IfModule dir_module>塊,修改里面的DirectoryIndex配置:
DirectoryIndex index.html index.htm index.php
</IfModule>
這里要注意默認(rèn)頁(yè)面的順序,按上面的配置,如果一個(gè)目錄下同時(shí)存在index.html和index.php的情況下,會(huì)優(yōu)先找到并打開(kāi)index.html。
最后還要讓Apache能找到PHP的配置。一般說(shuō)法是把php.ini拷貝到Windows目錄下,但是我寧愿在Apache中配置這個(gè)位置:
PHPIniDir d:/php5/php.ini
</IfModule>
好了,現(xiàn)在PHP應(yīng)該配置完了,寫個(gè)最簡(jiǎn)單的PHP試試看——啟動(dòng)或重啟Apache服務(wù)器,在Apache的htdocs目錄下去新建個(gè)phpinfo.php文件(如果修改了DocumentRoot,就根據(jù)修改后的DocumentRoot決定位置),內(nèi)容如下:
phpinfo();
?>
現(xiàn)在打開(kāi)瀏覽器看看http://localhost/phpinfo.php(非默認(rèn)端口記得寫端口號(hào)),看看效果。
3. 安裝配置CakePHP
所謂安裝,其實(shí)就是解壓而已。先把CakePHP解壓到D:\cakephp,那么CakePHP解壓出來(lái)的目錄結(jié)構(gòu)大概是這個(gè)樣子:
│ .htaccess
│ index.php
│ README
├──app
│ └──webroot
├──cake
└──vendors
從Google上的各種資料來(lái)查看,Web應(yīng)用的大概有三種配置方式,連介紹的順序都沒(méi)變過(guò)。其中第二種,也就是不改變CakePHP的目錄結(jié)構(gòu),也有一定安全性的一種,我覺(jué)得還不錯(cuò),采用了。
先要把CakePHP下面的app/webroot目錄設(shè)置成Apache的DocumentRoot;然后要打開(kāi)rewrite模塊(去掉注釋符號(hào));還要配置DocumentRoot目錄的AllowOverride屬性改為All。那么要修改Apache的配置文件的下面這些內(nèi)容:
LoadModule rewrite_module modules/mod_rewrite.so
...
DocumentRoot "D:/cakephp/app/webroot"
...
<Directory "D:/cakephp/app/webroot">
AllowOverride All
</Directory>
...
然后再次重啟Apache,訪問(wèn)http://localhost/試試,這時(shí)候應(yīng)該能顯示CakePHP的一些信息了。
如果配置CakePHP的時(shí)候采用的高級(jí)配置,在試運(yùn)行的時(shí)候可能會(huì)遇到頁(yè)面上有如下這樣的警告:
Warning (2): array_merge() [function.array-merge]: ...
Warning (2): array_merge() [function.array-merge]: ...
遇到這個(gè)問(wèn)題我真是頭大,查了半天資料,結(jié)果在幾乎絕望的時(shí)候,不知道在哪里看到一則信息,說(shuō)是要讓APP下的tmp/cache/persistent目錄有寫權(quán)限。查看了一下,原來(lái)tmp并不存在cache目錄,所以自己創(chuàng)建了cache/persistent目錄。如果在在Linux目錄下,還要給這個(gè)目錄777權(quán)限。
4. 安裝配置MySQL
MySQL的安裝也很簡(jiǎn)單,安裝完之后也有向?qū)渲靡恍〇|西。這些都是數(shù)據(jù)庫(kù)上的事情,根據(jù)向?qū)б徊讲讲僮骶秃?。關(guān)鍵是要讓PHP和CakePHP能使用MySQL數(shù)據(jù)庫(kù)。
關(guān)于PHP中的配置,直接修改php.ini,把extension=php_mysql.dll前面的注釋符號(hào)去掉,也就是
extension=php_mysql.dll
...
然后把剛才寫的phpinfo.php拷貝到CakePHP的app/webroot下面來(lái),再瀏覽一次http://localhost/phpinfo.php,看看頁(yè)面中有沒(méi)有關(guān)于MySQL的配置信息——多半沒(méi)得。因?yàn)檫€少做了點(diǎn)事情——我很郁悶,這里就耽誤了我半天時(shí)間。
PHP5目錄下有一大堆DLL,直接把這些DLL拷貝到Apache的bin目錄下去(如果你的PHP5目錄在PATH中,也許不用這么麻煩)?,F(xiàn)在再看看,頁(yè)面上應(yīng)該有MySQL的配置信息了吧。
CakePHP的配置在app目錄下的config/database.php中。沒(méi)發(fā)現(xiàn)這個(gè)文件么?有沒(méi)有看到一個(gè)database.php.default?把它拷貝一份更名為database.php就好。然后當(dāng)然還要改點(diǎn)東西。
這個(gè)配置里只有一個(gè)DATABASE_CONFIG類,它有一個(gè)$default變量,保存就是默認(rèn)數(shù)據(jù)庫(kù)的配置信息。差不多配置成這個(gè)樣子:
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'your-username',
'password' => 'your-password',
'database' => 'your-database',
'prefix' => '',
);
注意login、password和database三項(xiàng)根據(jù)實(shí)際情況來(lái)配置。配置完成后瀏覽http://localhost/,這個(gè)頁(yè)面上應(yīng)該有一句“Your database configuration file is present. ”。如果你的數(shù)據(jù)庫(kù)準(zhǔn)備好了,會(huì)看到“Cake is able to connect to the database.”;如果沒(méi)準(zhǔn)備好,可能會(huì)看到一些警告或者錯(cuò)誤消息。
小結(jié)
這個(gè)配置真是累死人。誰(shuí)有興趣做個(gè)完整安裝包吧,根據(jù)安裝位置自動(dòng)配置,多好!或者做個(gè)GUI或者Web界面的配置程序也不錯(cuò)。
- CakePHP框架Model關(guān)聯(lián)對(duì)象用法分析
- cakephp常見(jiàn)知識(shí)點(diǎn)匯總
- CakePHP框架Session設(shè)置方法分析
- cakephp2.X多表聯(lián)合查詢join及使用分頁(yè)查詢的方法
- Nginx配置PHP的Yii與CakePHP框架的rewrite規(guī)則示例
- 基于CakePHP實(shí)現(xiàn)的簡(jiǎn)單博客系統(tǒng)實(shí)例
- cakephp打印sql語(yǔ)句的方法
- Cakephp 執(zhí)行主要流程
- CakePHP去除默認(rèn)顯示的標(biāo)題及圖標(biāo)的方法
- CakePHP框架Model函數(shù)定義方法示例
相關(guān)文章
PHP array_reverse() 函數(shù)原理及實(shí)例解析
這篇文章主要介紹了PHP array_reverse() 函數(shù)原理及實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07PHP程序員簡(jiǎn)單的開(kāi)展服務(wù)治理架構(gòu)操作詳解(二)
這篇文章主要介紹了PHP程序員簡(jiǎn)單的開(kāi)展服務(wù)治理架構(gòu)操作,結(jié)合實(shí)例形式分析了rpc客戶端與服務(wù)器相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-05-05遍歷指定目錄,并存儲(chǔ)目錄內(nèi)所有文件屬性信息的php代碼
本篇文章主要介紹了PHP遍歷指定目錄,并存儲(chǔ)目錄內(nèi)所有文件屬性信息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-10-10