1. 程式人生 > >一、PHP環境搭建

一、PHP環境搭建

1.Apache的安裝

  • 下載綠色版Apache軟體(vc15),放在d:\php\apache24目錄下
  • 管理員模式執行cmd,切換到apache/bin目錄下
D:  #切換D盤
cd php/Apache24/bin       #切換到bin目錄下
  • 執行安裝命令,httpd -k install
httpd -k install        #安裝Apache服務
## 可選命令
httpd -k start          #啟動服務
httpd -k restart        #重啟服務
httpd -k stop           #停止服務
httpd -k uninstall      #解除安裝服務

如果出現錯誤,一般是因為沒有以管理員身份執行cmd所導致的許可權不夠。

  • 安裝成功,但測試錯誤
    在這裡插入圖片描述

  • 開啟對應檔案,修改如下
    在這裡插入圖片描述

  • 測試httpd -t
    在這裡插入圖片描述

  • 設定localhost
    在這裡插入圖片描述

  • 再測試
    在這裡插入圖片描述

  • 啟動Apache服務

httpd -k start
  • 瀏覽器位址列輸入localhost,顯示It works!,則執行成功!
    It works!

2.Apache的配置

  • 修改預設埠(埠可同時監聽多個)
  1. 找到httpd.conf檔案,大概60行左右的位置:不使用80埠的原因:防止佔用,開發環境可以不用修改,保持80!


    在這裡插入圖片描述

  2. 重啟Apache服務localhost:7070測試成功!
    It works!

  • 網站根目錄
    在這裡插入圖片描述

在這裡插入圖片描述

注意一下:根目錄應該是 D:/www ,上面寫作有誤!

清除瀏覽器快取,重Apache服務即可!

  • 預設文件
  1. 當用戶訪問的是一個目錄而不是一個具體檔案時,伺服器預設返回這個目錄下的某個檔案,這個檔案就被稱為預設檔案/文件。
    在這裡插入圖片描述

  2. 當有時候,如果沒有設定預設文件或預設文件不存在,伺服器就會返回該目錄下的文件結構,這很不安全!

  3. 禁止目錄瀏覽:
    在這裡插入圖片描述

開發環境可以保留,方便除錯

  • 虛擬主機
    如果一臺機器上只有一個網站的話,沒有任何問題。但是如果想要在一臺機器上部署多個站點,就必須通過配置虛擬主機的方式解決。
  1. httpd.conf開啟虛擬主機在這裡插入圖片描述

  2. 編輯httpd-vhosts.conf檔案(apache24/conf/extra/)

# *:7070監聽繫結在當前電腦上的任意IP的7070埠,可以改為80
# 由於多個虛擬主機一同工作,每一個虛擬主機必須配置 ServerName
<VirtualHost *:7070>      #注意7070埠一定新增到httpd.conf中,開啟監聽!
    #網站根目錄
    DocumentRoot "D:/www"        #D:/www在httpd.conf檔案中已經開啟了訪問許可權
    #域名(若是虛擬域名,則要修改hosts)    
    ServerName www.baidu.com      
    ErrorLog "logs/baidu.com -error.log"   #錯誤日誌,起名字
    CustomLog "logs/baidu.com -access.log" common  #普通日誌
</VirtualHost>

此時原httpd.conf檔案得對應配置會失效,網站根目錄為D:\www
3. 瀏覽器http://www.baidu.com即可訪問。(此時使用localhost訪問也會對映到該主機上!)

  • 配置多個虛擬主機:
    最大的問題就是:不同的網站根目錄不同,就需要開啟多個目錄的訪問許可權,而httpd.conf中只能開啟一個訪問目錄,怎麼辦呢?在httpd-vhosts.conf中配置!
# *:80監聽繫結在當前電腦上的任意IP的80埠,7070同理
# 由於多個虛擬主機一同工作,每一個虛擬主機必須配置 ServerName
<VirtualHost *:7070>       #注意7070埠一定新增到httpd.conf中,開啟監聽
    #網站根目錄
    DocumentRoot "D:/site1"
    #配置這個目錄允許被訪問,否則出現 Forbidden
    <Directory "D:/site1">
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    #域名(若是虛擬域名,則要修改hosts)    
    ServerName www.sogou.com      
    ErrorLog "logs/sogou.com -error.log"   #錯誤日誌,起名字
    CustomLog "logs/sogou.com -access.log" common  #普通日誌
</VirtualHost>

在瀏覽器位址列中輸入www.sogou.com域名即可訪問!(虛擬域名,需修改hosts)
多個站點的埠可以同時一樣(如:80),沒有關係!因為網站根目錄不同。

3.php7整合

  • 下載php7(vc15-執行緒安全版),解壓到d:\php\php7目錄下
  • 開啟Apachehttpd.conf檔案,新增如下:
#PHP的註冊(中間模組名自定義)
LoadModule php7_module D:/PHP/php7/php7apache2_4.dll
  • Apache新增php的MIME Type型別
  1. 開啟httpd.conf檔案,大概400行左右位置
  2. IfModule模組最後一行新增:
<IfModule mime_module>
    ...
    AddType application/x-httpd-php .php        #php規定的mime type型別
</IfModule>
  1. 重啟伺服器即可!(訪問並解析php檔案)