配置Apache2.2+PHP5+CakePHP1.2+MySQL5
因為最近要用PHP做個小東西,新學了PHP。結果學PHP只用了2個小時,配置伺服器卻用了兩天,鬱悶得想罵人。為了避免以後忘掉,寫個部落格留底。
1. 安裝配置Apahce
安裝配置Apache是比較簡單的, 跟著安裝嚮導一步步往下走就能搞定。最多就是在配置埠的地方需要注意一下,如果已經安裝了其它Web伺服器佔用了80埠,那記得配置的時候選一個別的埠。嚮導中忘了設定,在Apache的conf/httpd.conf中修改下面這句就好:
2. 安裝配置PHP5
PHP5也是一路安裝就完了。要讓Apache能解釋PHP頁面,繼續修改Apache的conf/httpd.conf檔案。 首先,假設PHP5是安裝在D:/php5目錄。
首先是要在Apache中載入PHP5的模組,加下面這句:
然後是讓Apache認識PHP頁面的Mime,找到<IfModule mime_module>塊,在這個塊里加一句AddType語句:
...
AddType application/x-httpd-php .php
...
</IfModule>
最後還要把index.php設定成預設頁面,這樣在瀏覽時沒指定頁面的情況下會自動找到index.php。找到<IfModule dir_module>塊,修改裡面的DirectoryIndex配置:
DirectoryIndex index.html index.htm index.php
</IfModule>
這裡要注意預設頁面的順序,按上面的配置,如果一個目錄下同時存在index.html和index.php的情況下,會優先找到並開啟index.html。
最後還要讓Apache能找到PHP的配置。一般說法是把php.ini拷貝到Windows目錄下,但是我寧願在Apache中配置這個位置:
PHPIniDir d:/php5/php.ini
</IfModule>
好了,現在PHP應該配置完了,寫個最簡單的PHP試試看——啟動或重啟Apache伺服器,在Apache的htdocs目錄下去新建個phpinfo.php檔案(如果修改了DocumentRoot,就根據修改後的DocumentRoot決定位置),內容如下:
phpinfo();
?>
現在開啟瀏覽器看看http://localhost/phpinfo.php(非預設埠記得寫埠號),看看效果。
3. 安裝配置CakePHP
所謂安裝,其實就是解壓而已。先把CakePHP解壓到D:/cakephp,那麼CakePHP解壓出來的目錄結構大概是這個樣子:
│ .htaccess
│ index.php
│ README
├──app
│ └──webroot
├──cake
└──vendors
從Google上的各種資料來檢視,Web應用的大概有三種配置方式,連介紹的順序都沒變過。其中第二種,也就是不改變CakePHP的目錄結構,也有一定安全性的一種,我覺得還不錯,採用了。
先要把CakePHP下面的app/webroot目錄設定成Apache的DocumentRoot;然後要開啟rewrite模組(去掉註釋符號);還要配置DocumentRoot目錄的AllowOverride屬性改為All。那麼要修改Apache的配置檔案的下面這些內容:
LoadModule rewrite_module modules/mod_rewrite.so
...
DocumentRoot "D:/cakephp/app/webroot"
...
<Directory "D:/cakephp/app/webroot">
AllowOverride All
</Directory>
...
然後再次重啟Apache,訪問http://localhost/試試,這時候應該能顯示CakePHP的一些資訊了。
如果配置CakePHP的時候採用的高階配置,在試執行的時候可能會遇到頁面上有如下這樣的警告:
Warning (2): array_merge() [function.array-merge]: ...
Warning (2): array_merge() [function.array-merge]: ...
遇到這個問題我真是頭大,查了半天資料,結果在幾乎絕望的時候,不知道在哪裡看到一則資訊,說是要讓APP下的tmp/cache/persistent目錄有寫許可權。檢視了一下,原來tmp並不存在cache目錄,所以自己建立了cache/persistent目錄。如果在在Linux目錄下,還要給這個目錄777許可權。
4. 安裝配置MySQL
MySQL的安裝也很簡單,安裝完之後也有嚮導配置一些東西。這些都是資料庫上的事情,根據嚮導一步步操作就好。關鍵是要讓PHP和CakePHP能使用MySQL資料庫。
關於PHP中的配置,直接修改php.ini,把extension=php_mysql.dll前面的註釋符號去掉,也就是
extension=php_mysql.dll
...
然後把剛才寫的phpinfo.php拷貝到CakePHP的app/webroot下面來,再瀏覽一次http://localhost/phpinfo.php,看看頁面中有沒有關於MySQL的配置資訊——多半沒得。因為還少做了點事情——我很鬱悶,這裡就耽誤了我半天時間。
PHP5目錄下有一大堆DLL,直接把這些DLL拷貝到Apache的bin目錄下去(如果你的PHP5目錄在PATH中,也許不用這麼麻煩)。現在再看看,頁面上應該有MySQL的配置資訊了吧。
CakePHP的配置在app目錄下的config/database.php中。沒發現這個檔案麼?有沒有看到一個database.php.default?把它拷貝一份更名為database.php就好。然後當然還要改點東西。
這個配置裡只有一個DATABASE_CONFIG類,它有一個$default變數,儲存就是預設資料庫的配置資訊。差不多配置成這個樣子:
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'your-username',
'password' => 'your-password',
'database' => 'your-database',
'prefix' => '',
);
注意login、password和database三項根據實際情況來配置。配置完成後瀏覽http://localhost/,這個頁面上應該有一句“Your database configuration file is present. ”。如果你的資料庫準備好了,會看到“Cake is able to connect to the database.”;如果沒準備好,可能會看到一些警告或者錯誤訊息。
小結
這個配置真是累死人。誰有興趣做個完整安裝包吧,根據安裝位置自動配置,多好!或者做個GUI或者Web介面的配置程式也不錯。
本文轉自邊城__ 51CTO部落格,原文連結:http://blog.51cto.com/jamesfancy/843157,如需轉載請自行聯絡原作者
相關文章
- nvim 配置,neovim配置
- Git配置配置檔案Git
- webpack(11)配置檔案分離為開發配置、生成配置和基礎配置Web
- mongodb配置檔案常用配置項MongoDB
- apache 配置檔案的配置(轉)Apache
- cmake配置VS工程配置使用dll
- Profile配置和載入配置檔案
- 【Python】配置檔案配置路徑Python
- webpack配置Plugin/配置檔案分離WebPlugin
- nginx配置+uwsgi+負載均衡配置Nginx負載
- mysql--my.ini配置檔案配置MySql
- 網路配置2:靜態路由配置路由
- 配置HP-UNIX下配置IP地址
- python讀配置檔案配置資訊Python
- MyBatis 配置MyBatis
- 配置RedisRedis
- webpack配置Web
- Ubuntu 配置Ubuntu
- mysql配置MySql
- 配置nginxNginx
- rocketmq配置MQ
- RIP配置
- babelrc配置Babel
- RabbitMQ配置MQ
- Nginx 配置Nginx
- iptables配置
- ftp 配置FTP
- larvelnginx配置Nginx
- 配置MySQLclusterMySql
- nginxphp配置NginxPHP
- fastcgi配置AST
- 配置vncserverVNCServer
- sendmail配置AI
- VNC 配置VNC
- hacmp配置ACM
- 配置mysqlMySql
- JBossWeb 配置Web
- 配置IPMP