萬盛學電腦網

 萬盛學電腦網 >> 網絡應用技術 >> 應用教程 >> win7下手動配置apache+php+mysql記

win7下手動配置apache+php+mysql記

本來想學學php,於是就想搭建web服務器和sql環境,結果浪費掉了不少時間。

  大致的總結下,也算是長個記性。

  使用的安裝包分別是httpd-2.2.22-win32-x86-no_ssl .msi,php-5.2.5-Win32.zip和mysql-installer-community-5.5.28.3.msi,很顯然用的還算是比較新的安裝包。安裝apache還是比較順利的,一路安裝下來,默認監聽本機所有ip的80端口,當然包括回環地址, 接著解壓php到指定文件夾,接著安裝mysql,打開安裝目錄下的httpd.conf文件,做如下調整:

  ServerRoot "D:/Apache2.2"  服務器安裝根目錄

  DocumentRoot "D:/phpWeb"  修改為自己的網站根目錄

  # This should be changed to whatever you set DocumentRoot to.

  <Directory "D:/phpWeb">      與上一步進行同步修改

  # DirectoryIndex: sets the file that Apache will serve if a directory

  # is requested.

  <IfModule dir_module>         設置默認的被請求文件

  DirectoryIndex index.php index.html

  </IfModule>

  LoadModule php5_module "D:/php/php5apache2_2.dll"   以模塊的方式加載php,注意此處的php5apache2_2.dll對應的apache 版本

  LoadFile "D:/php/php5ts.dll"   手動加載php動態鏈接庫 或者 把這兩個文件放到system32文件目錄下

  LoadFile "D:/php/libmysql.dll" 加載mysql動態鏈接庫

  PHPIniDir "D:/php"                 非必要的配置

  AddType application/x-httpd-php .php .html .htm   服務器端支持動態文件類型

  保存修改後,測試apache,重啟apache服務器,在浏覽器中輸入localhost or 回環地址,頁面顯示 "It works !"到此說明,apache工作了。

  測試php,在phpWeb目錄裡編輯一個index.php 的文件,內容為<?php   phpinfo(); ?>,重復測試apache服務器的操作,頁面顯示php的配置信息,查看是否包括sql模塊,很想然沒有,因為php默認是不加載mysql模塊的。然後修改php.ini 文件,主要改動點如下:

  extension_dir = "D:/php/ext"  擴展dll庫的位置

  ……

  extension=php_mysql.dll     打開mysql的擴展

  對於php.ini的修改相當郁悶,網上找了很多也做了各種修改,似懂非懂的就去嘗試,後來都不管用。 想想mysql是否安裝成功呢,開始用命令行查看,先看端口3306端口是否處於監聽狀態,使用netstat -a命令,再使用mysql workbench 測試與數據庫的連接是否成功,結果成功說明mysql安裝沒有問題,mysql 的配置文件是my.ini ,暫時不用動,默認的配置可以工作。 於是問題出在php與mysql的銜接處,問題肯定出在php.ini文件。

  開查php.ini,還是先看看phpinfo()給出的信息吧,看來看去怎麼沒有mysql模塊,開始懷疑我之前是否打開了配置信息裡的mysql 擴展。God,打開的竟然是extension=php_mssql.dll.此處省略無數字。

  Wahtever, 問題總算找到,測試一下,瞬間OK,欲哭無淚。但是回顧整個過程,時間主要浪費在了細小的錯誤上。 總結教訓: 面對問題不能不問百度google閉門造車但也不能盲信盲從 ; 面對問題更多的是持續關注問題,自己分析問題。

  下一步詳細分析httpd.conf  php.ini my.ini ,靈活配置,並對web服務器和數據庫服務器進行性能調優,然後移植網站到新崛起的Nginx web服務器等。貌似有點偏題了,當然主要目的還是學習可愛的PHP.

copyright © 萬盛學電腦網 all rights reserved