Windows7下PHP 7.1搭建開發環境

bladestone發表於2017-07-27

引言: PHP天生就是用來解決網際網路時代的Web語言問題的專業工具,本文將記錄在windows上搭建PHP的過程以及其中碰到的問題。

配置版本資訊

OS: Windows 7
PHP: 7.1.7-nts-Win32-VC14-x64

前置條件

需要安裝Windows Visual C++ VC14+以上的版本安裝包。
下載地址: https://support.microsoft.com/en-hk/help/2977003/the-latest-supported-visual-c-downloads
正常情況下,下載2017年的版本

下載 apache

Apache就不用多少了,大名鼎鼎的Web伺服器….
下載地址:http://httpd.apache.org/docs/current/platform/windows.html
選擇下載windows下的版本即可。

比較有意思的是Apache本身不提供Windows下的安裝包,只提供原始碼,我暈,但是還好,提供了幾個第三方提供的binary安裝包:
我選擇了Apache Haus 64位的, 版本為: 2.4.27

下載php7

目前最新的php版本是7.1.7, 它提供了non-thread-safe和thread-safe兩個版本,這裡提示大家下載thread-safe的版本:
下載地址: http://windows.php.net/download#php-7.1
這裡寫圖片描述

安裝目錄的設定

將php7.1以及解壓之後的apache 2.4放置到了特定目錄:
這裡寫圖片描述

配置Php

  • 進入php的解壓目錄,將php.ini-production檔案複製一份,重新命名為php.ini

  • 將php當下的目錄以及php\ext的目錄放置到系統環境變數中的PATH中去。
    例如: 當前目錄為D:\Program Files\phpdev
    則PATH中的目錄為:D:\Program Files\phpdev\php-7.1.7-nts-Win32-VC14-x64
    D:\Program Files\phpdev\Apache24
    環境變數的設定路徑: 右鍵我的電腦,點選屬性–>高階系 統設定 –>環境變數–>系統變數,找到Path

配置Apache

開啟apache安裝目錄下的conf,編輯httpd.conf, 將其中的SRVROOT修改為實際的安裝目錄,下面為從中擷取的片段:

Define SRVROOT “D:\Program Files\phpdev\Apache24”
ServerRoot “${SRVROOT}”

這裡著重講SRVROOT替換為實際的Apache的安裝目錄。

其他的修改包括:

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

新增index.php來支援php的版本

安裝Apache服務

基於Administrator的身份執行windows下的cmd, 然後安裝apache服務:

Apache_HOME\bin\httpd.exe -k install -n apache

這裡寫圖片描述

正常情況下,系統會彈出一個提示對話方塊,提示是否允許Aapache訪問外網,這個是Windows Firewall針對向外聯網的請求進行了攔截,只要點選確定允許之後,即可。

啟動Apache服務

進入Apache的安裝目錄,執行ApacheMonitor.exe

bin\ApacheMonitor.exe

這裡寫圖片描述

點選啟動Start,即可啟動Apache Web伺服器。
這裡寫圖片描述

配置php.ini

基於文字編輯器,開啟php.ini檔案:

  1. extension_dir [Line 734 ~~L738]

    ; Directory in which the loadable extensions (modules) reside.
    ; http://php.net/extension-dir
    extension_dir = “D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64”
    On windows:
    extension_dir = “D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64/ext”

  2. 開啟訪問dll

    • 893行 ;extension=php_curl.dll 去掉前面的分號
    • 896行 ;extension=php_gd2.dll 去掉前面的分號
    • 903行 ;extension=php_mbstring.dll 去掉前面的分號
    • 905行 ;extension=php_mysqli.dll 去掉前面的分號
    • 909行 ; extension=php_pdo_mysql.dll 去掉前面的分號

    配置Apache的httpd.conf

    • 在之前新增如下資訊:

    LoadModule php7_module “D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64/php7apache2_4.dll”
    PHPIniDir “D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64”

這裡的PHP_HOME: D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64

  • 在檔案的最後新增如下資訊:
<IfModule php7_module>
  AddType application/x-compress .Z
  AddType application/x-gzip .gz .tgz
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php .html
  AddType application/pdf .pdf
</IfModule>

apache的錯誤資訊檢視

apache啟動錯誤查詢。右鍵點選“計算機”》開啟“管理”》“事件檢視器”》“windows日誌”》“應用程式”即可查詢報錯內容

配置PHP擴充套件庫curl

將php解壓檔案中的libssh2.dll、php_curl.dll、ssleay32.dll、libeay32.dll放入Windows/System32資料夾(即使你是用64位系統)
然後,把libssh2.dll放入Apache2.4解壓目錄下的bin資料夾
最後,在php.ini中,把extension=php_curl.dll前面的分號去掉
重啟Apache,OK!

其中php_curl.dll在php目錄下的ext目錄下。

測試php頁面

建立一個php頁面:

<?php
phpinfo();
?>

開啟瀏覽器:

參考資料

相關文章