Windows下配置Apache服務器並支持php


  php環境的配置相對來說比較繁瑣,網上教程大部分都是放一起說,總體感覺比較亂,其實Apache是一款通用的服務器軟件,可以用來配置支持靜態頁面,php、Python、Java甚至asp等服務端語言,要把Apache理解成單獨的服務器,並不一定和php搭檔,只是和php配合是比較流行的一種組合方式,就比如lamp就是比較流行的網站架構,所以,首先我們來配置Apache,首先讓服務器跑起來並能解析靜態的html文件

  首先我們去官網下載最新版本的Apache,首先來到首頁:http://www.apache.org/

  

  這就是Apache基金會的官方網站,拉到底會看到有很多的開源項目,如Spark、Struts框架、流行的Hadoop大數據平台、tomcat服務器等,最著名的就是第一個HTTP Server也就是http服務器,

  

  現在,點擊進去就是Apache服務器頁面了,網址是:http://httpd.apache.org/

  官方提供了很多文檔等,比網上搜到的結果要系統並且准確,並且還有中文版

  好了,我們看到現在最新版是2.4.18,點擊"Download"超鏈接

  

  進來之后會看到下載的類型,前面幾項是Linux版本的包文件和源碼,點擊最后一個Windows版本

  

  然后現在看到的就是下載頁面:

  

  我們看到,Apache服務器沒有專門用於Windows的版本,需要自己對源碼進行編譯生成二進制文件,如果不編譯的話可以下載下面提供的編譯好的程序

  后面的WampServer和XAMPP就是Windows平台最流行的集成環境,上面第一項或者第二項就是編譯好的Windows版本的Apache服務器,我們單擊第二項進去,就是最終的下載頁面了,鏈接是:http://www.apachelounge.com/download/

  現在我們根據操作系統的位數直接下載就可以了,

  

  下載完之后,我們為了方便,首先建立一個目錄用來專門放置服務器和后續的php運行環境,我是建立在C:/www下,然后把剛才下載的服務器解壓到該目錄下,然后C:/www/Apache24下就是這個樣子

  

  還要注意一個地方就是最新Apache的運行環境最低必須建立在VC++2014之上,然后VC++2015更沒有問題,同樣php運行也需要這個環境,我前面的文章提到過,所以安裝一次VC14或者VC15就沒問題了

  現在開始配置服務器,首先打開conf目錄下的httpd.conf配置文件

  找到ServerRoot "c:/Apache24"這一行,

  根據實際目錄進行更改,所以改為:ServerRoot "c:/www/Apache24"

  找到#ServerName www.example.com:80把前面的#去掉即可

  然后找到 DocumentRoot "c:/Apache24/htdocs"這個意思就是我們web資源放置的根目錄了,這里我的改為:DocumentRoot "c:/www/Apache24/htdocs"

  然后及接着下面一行:<Directory "c:/Apache24/htdocs">這個也是web資源的跟目錄,所以改為:<Directory "c:/www/Apache24/htdocs">

  然后找到:

  <IfModule dir_module>
    DirectoryIndex index.html
  </IfModule>

  這個意思就是我們的默認首頁程序,可以設置為:DirectoryIndex index.html index.htm index.php 這個配置是按照優先順序進行訪問

  然后找到:ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"這里的意思是設置cgi的目錄,在Apache目錄下有個cgi-bin目錄,所以這里應該改為:ScriptAlias /cgi-bin/ "c:/www/Apache24/cgi-bin/"

  然后找到:

  <Directory "c:/Apache24/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
  </Directory>

  這些代碼,注意和我們前面的web根目錄不是同一個位置,把這里也改成cgi-bin的目錄,和ScriptAlias一樣就行

  到這里,我們的Apache服務器配置就完成了,現在可以解析html運行應用了

  現在,運行cmd,進入C:\www\Apache24\bin目錄,這個目錄下的httpd.exe就是服務器的執行程序,根據官網上說的,我們首先把Apache作為應用軟件服務安裝到系統服務中,運行命令:

  httpd -k install -n "ApacheServer"

  執行完這條命令后,如果沒什么問題,就把Apache服務安裝成功了,服務名為:ApacheServer這個我們可以自定義,如果只執行

  httpd -k install

  這樣默認安裝Apache服務名為:Apache2.4

  如果安裝的時候提示,OS 5拒絕服務,AH00369這樣的錯誤,那么原因就是我們沒有權限執行操作,那么需要進入C:\Windows\System32目錄下,右擊cmd.exe選擇以管理員方式運行即可,這樣就安裝成功了

  現在運行services.msc就可以看到剛安裝好的服務了,並且默認為自動,就是隨系統自動啟動,不用我們每次再啟動了,

  如果想手動啟動或者關閉或者重啟服務器有兩種方法,一種是在系統服務中右鍵進行相應操作,比較簡單

  另外就是使用命令行進行操作:

  啟動:httpd -k start -n "ApacheServer"或者默認是httpd -k start

  停止:httpd -k stop -n "ApacheServer"或者httpd -k shutdown -n "ApacheServer"

  重啟:httpd -k restart -n "ApacheServer"

  如果需要卸載服務就執行:httpd -k uninstall -n "ApacheServer"

  現在,我們訪問http://localhost或者http://127.0.0.1如果可以看到 It works!的歡迎頁,就是訪問到了根目錄下的index.html程序,那么Apache的環境就ok了

  下面需要配置讓Apache可以運行php應用,現在需要去php官網下載運行環境

  過程就不細說了,Windows版本的網址為:http://windows.php.net/download

  這里可以下載最新版本的php7.0.1也可以下載php5.6.16這兩個版本,但是不推薦下載更低的5.5、或者5.4版本

  

  這里根據操作系統位數一定要下載線程安全的版本,也就是Thread Safe的版本,下載完之后解壓到C:/www下,我這里下載的是php7所以路徑是:C:\www\php7

  

  然后我們在這個目錄下會看到,php7apache2_4.dll這個就是Apache運行php的必要組件,現在繼續打開Apache的配置文件httpd.conf

  把光標定位在最后,新起一行輸入:LoadModule php7_module "C:/www/php7/php7apache2_4.dll"

  這行代碼意思就是讓Apache服務器引入php模塊,從而可以支持php應用的web訪問

  要注意,php5和php7是不一樣的

  

  然后,繼續添加一行

  AddType application/x-httpd-php .php .html .htm .php5

  這個是告訴Apache識別php文件的后綴,從而對這些后綴的應用進行解析,后面我們還可以添加.php7

  最后添加一行:PHPIniDir "C:/www/php7" 這行代碼是告訴Apache服務器php.ini的目錄,從而使服務器讀取php的配置

  到現在就添加完了,如果是php7的話,有可能后續啟動不成功,如果啟動不成功,那么把PHPIniDir最后這行,放到LoadModule前面,就是先讀取php.ini設置,在加載php模塊,這樣一般就成功了

  網上還有一種對於php7的配置方法是:

  phpinidir "C:/www/php7"
  loadfile "C:/www/php7/php7ts.dll"
  loadfile "C:/www/php7/ssleay32.dll"
  loadfile "C:/www/php7/libeay32.dll"
  loadmodule php7_module "C:/www/php7/php7apache2_4.dll"

  就是多三行代碼,引入了3個文件,如果上面方法還是不行,可以試試這個方法,因為php7發布沒多長時間,后續這些問題肯定會解決的

  到這里Apache服務器就全部配置完了,我們保存httpd.conf就行了

  現在進入php的目錄,把php.ini-development復制一個副本,然后將副本重命名為:php.ini,然后打開php.ini開始配置

  我們找到; On windows:這行

  

  把下面的; extension_dir = "ext"前面的;注釋去掉,然后把ext改成php下的ext目錄,這里改成 extension_dir = "C:/www/php7/ext"目錄,這個是指定php相應擴展的目錄,如果這個不設置,那么只能使用php核心功能,另外的curl操作,mbstring字符串操作,xml操作,mysql操作都不能進行,所以這個必須設置好

  網上有些教程說把C:\www\php7;C:\www\php7\ext加入到環境變量中,這里只去掉分號就行了,還有的教程說把ext目錄下的dll文件都復制到C:\Windows下,這里的注釋不管他,原因很簡單就是因為Windows本來就在環境變量當中,這些方法其實本質是一樣的,都是讓php通過php.ini配置文件讀取ext擴展目錄,所以我個人推薦第一種方法,就是直接在這里指定目錄,簡單並且靈活

  開啟了這里之后,那么就需要有選擇的開啟相應的擴展了

  

  這里的這些擴展,去掉前面的;就是代表的開啟,這里建議開啟:

  php_mbstring.dll(截取中文標題或摘要時會發現太好用了)

  php_mysqli.dll

  php_mysql.dll(新版本廢除了,用mysqli代替)

  php_curl.dll

  php_gd2.dll

  php_pdo_mysql.dll

  php_sockets.dll

  php_xmlrpc.dll

  這些擴展一般就夠用了,后續如果需要的話再具體開啟

  另外,時區的配置也可以改一下,作用和在程序里面用date_default_timezone_set()函數設置相同,默認是UTC格林威治時間,和北京時間相差8個小時

  

  這里可以改成:date.timezone = Asia/Shanghai或者date.timezone = PRC

  到這里,我們保存php.ini,然后重啟Apache服務器,測試phpinfo()就可以了

  到現在Apache服務器和php環境都配置完成了,更詳細的個性化配置等,需要根據項目需要來具體配置,這個后續再不斷地補充,目前這個環境一般的開發測試是沒問題的

  另外關於MySQL數據庫基本上是獨立的,單獨安裝的,只要我們安裝好之后,就可以用php或者其他編程語言建立連接去訪問數據庫中的數據了,具體配置也是相對獨立的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM