本地調試 WordPress 主題一直是使用 XAMPP 搭建本地環境,但不知道什麼原因,在比較多調用的主題(如CMS類)計算機會出現卡頓現象,查看進程是 Apache 和 MySQL 這2個進程 CPU 占用其高,具體原因不知,主機環境配置我很少折騰,不懂,或許是我主機太老的問題(單核CPU)。
決定:在忍受幾個月的緩慢後,決定手動搭建 Apache+PHP+MySQL 試試(也聽 jiucool 說他自己也是手動搭建,相當快),經過繁瑣的步驟搭建成功後,發覺貌似是比較快點,起碼不會卡頓。當然,也許是 RPWT,或者是錯覺。不管是啥,用著感覺 OK 就行,此篇文章是用來記錄具體步驟的,原理什麼的請教 Google 吧,當然你怕 Google 被逼抽風,你可以用百度搜知道的,不知道的還是找 Google 吧。
原文參考:http://www.leapsoul.cn/?p=695
測試環境:Windows 7(其他win版本沒測試,大體相同)
一、去官方下載需要的代碼包、軟件包
1. Apache:下載地址,我下載的是 httpd-2.2.17-win32-x86-openssl-0.9.8o.msi
2. PHP:下載地址,我下載的是 php-5.3.4-Win32-VC6-x86.zip
3. MySQL:下載地址,我下載的是 mysql-5.5.8-win32.msi
4. phpMyAdmin:下載地址,我下載的是 phpMyAdmin-3.3.8.1-all-languages.7z
二、安裝、解壓
1. Apache
主要配置Network Domain、Server Name、Email地址(我依次填的是localhost、localhost、郵箱隨意)以及Apache服務的占用端口,默認為80端口,你可以根據需要配置在其他端口,Apache的安裝目錄你可以使用默認目錄或根據需要自行選擇安裝目錄(我安裝到 D:\Apache)。
在完成apache服務的安裝後,在游覽器中輸入http://localhost/,出現It’s work!字樣,說明Apache服務安裝成功了。
2. PHP
只要解壓php-5.3.4-Win32-VC6-x86.zip並重名為文件夾為php到某個盤即可完成PHP安裝(我是將其解壓復制到D盤目錄下 D:\php)
3. MySQL
點擊Mysql安裝程序自動安裝,在此期間你可以根據需要選擇Mysql數據庫的安裝目錄(我安裝到 D:\MySQL),MySQL 安裝完後會啟動向導,你可以先取消,下一部的配置裡有說。
三、配置
1. Apache(Apache配置文件httpd.conf在Apache安裝目錄下的conf文件夾裡面)
(1)默認Apache服務器執行WEB主程序的目錄為Apache2.2/htdocs,所以當你的WEB主程序目錄變更時,我們需要修改相應的Apache配置(我改到D:\localhost\htdocs),即用文本編輯軟件打開 httpd.conf 將
DocumentRoot "D:/Apache/htdocs"
修改為
DocumentRoot "D:/localhost/htdocs"
再把
<Directory "D:/Apache/htdocs">
修改為
<Directory "D:/localhost/htdocs">
(2)修改具體的index文件先後順序,由於配置了PHP功能,當然需要index.php優先執行
找到
DirectoryIndex index.html
修改為
DirectoryIndex index.php index.html
(3)使Apache支持PHP
找到
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
在其下面增加如下內容(注意php的安裝路徑)
LoadModule php5_module "d:/php/php5apache2_2.dll" PHPIniDir "d:/php" AddType application/x-httpd-php .php .html .htm
說明:我們在PHP目錄下可以看到多個php5apache的DLL文件,由於我們使用的是Apache2.2.17,所以我們當然需要使用php5apache2_2.dll,接著指定PHP的安裝目錄以及執行的程序擴展名。
2. PHP(配置文件php.ini在PHP安裝目錄下)
(1)把php.ini-development改名為php.ini,然後用文本編輯器修改php.ini,接下來的步驟都是在php.ini進行的。
(2)找到
; On windows: ; extension_dir = "ext"
修改為
; On windows: extension_dir = "D:/php/ext"
表示指定PHP擴展包的具體目錄,以便調用相應的DLL文件。
(3)由於默認PHP並不支持自動連接Mysql,需開啟相應的擴展庫功能,比如php_mysql.dll等,即將
;extension=php_curl.dll ;extension=php_gd2.dll ;extension=php_mbstring.dll ;extension=php_mysql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_odbc.dll ;extension=php_xmlrpc.dll
去掉其前面的英文分號(;),如下
extension=php_curl.dll extension=php_gd2.dll extension=php_mbstring.dll extension=php_mysql.dll extension=php_pdo_mysql.dll extension=php_pdo_odbc.dll extension=php_xmlrpc.dll
(4)配置PHP的Session功能
在使用session功能時,我們必須配置session文件在服務器上的保存目錄,否則無法使用session,我們需要在Windows 7上新建一個可讀寫的目錄文件夾,此目錄最好獨立於WEB主程序目錄之外,此處我在D:\localhost目錄上建立了phpsessiontmp目錄,然後在 php.ini配置文件中找到
;session.save_path = "/tmp"
修改為
session.save_path = "D:/localhost/phpsessiontmp"
(5)配置PHP的文件上傳功能
同session一樣,在使用PHP文件上傳功能時,我們必須要指定一個臨時文件夾以完成文件上傳功能,否則文件上傳功能會失敗,我們仍然需要在 Windows 7上建立一個可讀寫的目錄文件夾,此處我在D:\localhost目錄上建立了phpfileuploadtmp目錄,然後在php.ini配置文件中找到
;upload_tmp_dir =
修改為
upload_tmp_dir = "D:/localhost/phpfileuploadtmp"
(6)修改date.timezone,否則在執行phpinfo時date部分會報錯:Warning: phpinfo() [function.phpinfo]…
找到
;date.timezone =
修改為
date.timezone = Asia/Shanghai
3. MySQL
點擊開始菜單下Mysql Server5.5菜單中的Mysql Server Instance Config Wizard,完成Mysql的配置向導。