PHP集成開發環境有很多,如XAMPP、AppServ......只要一鍵安裝就把PHP環境給搭建好了。但這種安裝方式不夠靈活,軟件的自由組合不方便,同時也不利於學習。所以我還是喜歡手工搭建PHP開發環境,需要哪個模塊自己安裝就行了,或者那個軟件需要升級,直接升級那個軟件就行了,並不影響其他軟件,非常方便。
安裝環境:windowsXP 32
一、准備工作-下載所需軟件
- Apache httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
- PHP php-5.3.10-Win32-VC9-x86.zip
- MySQL mysql-5.5.28-win32.zip
(下載php網站:http://tool.php100.com/)
二、安裝軟件
1、安裝Apache
注意:Apache服務器的默認是80端口
雙擊安裝,與安裝其他Windows軟件沒有什么區別,在填Server Infomation時,並沒有特殊規定,只要輸入的信息符合格式即可。
服務器信息可以按照默認配置,如果服務器的80端口沒被其他服務器程序占據。可選“for All Users,on Port 80, as a Service—Recommended.”如果僅為當前用戶使用,使用8080端口,手動啟動,選擇“only for the Current User, on Port 8080, when started Manually.”。端口號是可以通過配置文件進行修改的。
安裝完成之后出現apache服務管理器,如下圖,點擊第一個圖標
(注意:安裝完apache后並沒有啟動此服務)
服務管理列表中有現在可以啟動的服務項目,點擊“Start”
在瀏覽器輸入http://localhost,如果顯示It Works!,表示Apache安裝成功。
2、安裝php
將php-5.3.10-Win32-VC9-x86.zip解壓到一個目錄即可,本例我放置到了D:\php文件夾下。
3、安裝MySQL
雙擊安裝,如果需要更改安裝目錄,則在Choose Setup Type選擇Custom
此處選擇用戶自定義配置
可以更改mysql的安裝目錄位置,此處保持默認。
完成后勾選”Launch the MySql instance Configuration Wizard”進行MySql的配置。
安裝完成后開始配置MySQL,全部保持默認選項即可,但最好把MySQL默認編碼改為utf8,在Modify Security Settings選項中設置密碼,輸入兩次密碼即可完成,最后點Execute完成配置。
選擇配置方式:“Detailed Configuration(手動精確配置)”、”Standard Configuration(標准配置)”,選擇“Detailed Configuration”,
選擇服務器類型,“Developer Machine(開發測試類,mysql占用很少資源)”、“Server Machine(服務器類型,mysql占用較多資源)”、“Dedicated MySQL Server Machine(專門的數據庫服務器,mysql占用所有可用資源)”,一般選擇“Server Machine”。 可根據實際情況進行選擇。本例使用開發測試類型滴。
選擇mysql數據庫的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服務器類型,專注於事務處理,一般)”、“Non-Transactional Database Only(非事務處理型,較簡單,主要做一些監控,記數用,對MySAM數據類型的支持僅限於non-transactional)”,選擇“Transactional Database Only”,本例選擇的是通用多功能型。
對InnoDB Tablespace進行配置,就是為InnoDB數據庫文件選擇一個存儲空間,如果修改了,要記住位置,重裝的時候要選擇一樣的地方,否則可能會造成數據庫損壞,當然,對數據庫做個備份就沒問題了。使用默認位置。
選擇網站的一半mysql訪問量,同時連接的數目,“Decision Support(DSS)/OLAP(20個左右)”、“Online Transaction Processing(OLTP)(500個左右)”、“Manual Setting(手動設置,自己輸一個數)”,選擇“Online Transaction Processing(OLTP)”。本例選擇第一項,由於只在本機做開發測試工作。
是否啟用TCP/IP連接,設定端口,如果不啟用,就只能在自己的機器上訪問mysql數據庫,選擇“Enable TCP/IP Networking”是否啟用TCP/IP連接,設定端口,如果不啟用,就只能在自己的機器上訪問mysql數據庫,選擇“Enable TCP/IP Networking”。
設置數據庫語言編碼,“Standard Character Set”為西文編碼、“Best Support For Multilingualism”為RTF-8編碼、“Manual Selected Default Character Set/Collation”為手動設置編碼,utf8
”Install As Windows Service”選擇安裝MySql服務,可自定義服務的名稱。
“Include Bin Directory in Windows PATH”是在機器上添加MySql的環境變量。
選擇“Modify Security Settings”,可根據實際要求勾選上“Enable root access from remote machines”以便能夠從其他機器上訪問。
完成配置后點擊“Execute”執行配置即可。
MySQL安裝完成了。
測試MySQL安裝是否成功:
三、整合Apache+PHP+MySQL
Apache : 首先修改Apache的配置文件,讓Apache支持解析PHP文件。Apache配置文件在Apache安裝目錄的conf目錄下的httpd.conf。
1. 讓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
2. 在配置文件中找到
DirectoryIndex index.html
改為
DirectoryIndex index.php index.html
3. 修改Apache站點目錄,在配置文件中找到(Apache安裝的目錄不同,顯示的值不一樣)
#DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
改為
DocumentRoot "D:/php"
再找到
#<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
改為
<Directory "D:/php">
PHP : 把php.ini-development改名為php.ini,作為PHP的配置文件。修改php.ini
1. 設置PHP擴展包的具體目錄,找到
; On windows:
; extension_dir = "ext"
改為 (值是ext文件夾的目錄)
; On windows:
extension_dir = "D:/php/ext"
2. 開啟相應的庫功能,找到需要開啟的庫的所在行
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;extension=php_xmlrpc.dll
去掉前面的分號(注釋),即改為
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_xmlrpc.dll
3. 設置時區,找到
;date.timezone =
改為
date.timezone = Asia/Shanghai
四、驗證安裝是否成功
配置完成,檢測一下配置是否成功。有兩種方法可以驗證。
第一種:重啟Apache,在站點目錄下新建文件index.php,輸入內容:
<?php phpinfo(); ?>
打開瀏覽器輸入http://localhost,顯示如下內容,則安裝成功,並且成功關聯MySQL。
第二種:在Web根目錄下(如 D:\website)建立testdb.php文件內容如下:
<?php $link=mysql_connect('localhost','root','123456'); if(!$link) echo "fail"; else echo "success"; mysql_close(); ?>
注意更改連接數據庫的地址和root的密碼。
用瀏覽器打開http://localhost/testdb.php 如果輸出success就表示PHP、mysql 和apache合作愉快了。
五、安裝過程中遇到的問題
1、地址欄輸入http://localhost,顯示的IIS頁面
原因:IIS與apache默認端口號一樣,都是80
解決方法一:把IIS服務停止
解決方法二:修改Apache端口號
2、地址欄中輸入http://localhost,提示域名解析錯誤
原因:安裝后的apache並未啟動
解決方法:啟動后即可正常訪問。
3、啟動Apache時報錯the requested operation has failed
原因一:80端口占用
例如IIS,另外就是迅雷。我的apache服務器就是被迅雷害得無法啟用!
Windows平台查看誰占用了我們的80端口方法:
在windows命令行窗口下執行:
C:\>netstat -aon|findstr "80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
看到了嗎,端口被進程號為2448的進程占用,繼續執行下面命令:
C:\>tasklist|findstr "2448"
thread.exe 2016 Console 0 16,064 K
很清楚吧,thread占用了你的端口,Kill it
如果第二步查不到,那就開任務管理器,看哪個進程是2448,然后殺之即可。
如果需要查看其他端口。把 80 改掉即可
原因二:軟件沖突
裝了某些軟件會使apache無法啟動如Dr.com 你打開網絡連接->TcpIp屬性->高級->WINS標簽 把netbios的lmhosts對勾去掉,禁用tcp/ip的netbios. 然后再啟動應該就可以了。
原因三:httpd.conf配置錯誤
如果apache的配置文件httpd.conf搞錯了,在windows里啟動它,會提示the requested operation has failed ,這是比較郁悶的事,因為查錯要看個半天。
其實可以用命令行模式啟動apache,並帶上參數,apache會提示你哪句有誤,然后就可以針對性的解決,命令如下: httpd.exe -w -n "Apache2" -k start
還有一種情況:
即使你這次啟動了,下次你都有可能啟動失敗
在運行里輸入:netsh winsock reset
一會兒cmd會提示你重啟,不用理會,現在APACHE已經可以啟動了。
其實就是一個winsock的修復
4、如果你Apache安裝后服務管理列表中沒有出現apache的服務項就說明在安裝過程中出現了錯誤,這時候可以手動進行安裝。
解決方法:使用cmd進入C:\Program Files\Apache Software Foundation\Apache2.2\bin這是我本機安裝的目錄, 並執行httpd -k install命令,提示成功后即可在服務管理列表中看到apache服務。
5、httpd.conf的配置時,若php目錄下無php5apache2_2.dll,一定是下載的版本不對。
6、MySQL安裝有問題,需要重裝,重裝時變成無反應,裝不了
解決方法:可參考http://www.cnblogs.com/yangxia-test/p/4414397.html
7、啟動Apache時,提示php startup
解決思路:cmd命令中,輸入httpd.exe -w -n "Apache2" -k start ,查看Apache日志,顯示以下錯
apache雖然能運行,但是看見error.log中有httpd.exe: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName這個錯誤
解決方法:因為DNS沒配置好. 如果不想配置DNS, 就在httpd.conf , 在最前加入 ServerName localhost:80 即可.