1. 程式人生 > >TestLink學習一:Windows搭建Apache+MySQL+PHP環境

TestLink學習一:Windows搭建Apache+MySQL+PHP環境

左右 mysql數據庫 uri 成了 -h 時區 站點 ngx php_curl

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 即可.

TestLink學習一:Windows搭建Apache+MySQL+PHP環境