Windows下配置Apache伺服器並支援php

來源:互聯網
上載者:User

標籤:

  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平台最流行的Integration Environment,上面第一項或者第二項就是編譯好的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或者其他程式設計語言建立串連去訪問資料庫中的資料了,具體配置也是相對獨立的

 

Windows下配置Apache伺服器並支援php

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.