最近一直在配環境,在配iis+sqlserver+php的時候,走了不少的坑,這裏記錄一下。php
目錄html
0x01 SQL server配置sql
0x02 IIS配置安全
0x03 PHP配置網絡
0x04 配置IIS支持PHP工具
0x05 PHP鏈接SQL serversqlserver
0x01 SQL server配置測試
這裏就不說安裝sqlserver的過程了,這裏我用的是sqlserver2012,不帶本地鏈接工具僅用於網絡鏈接的。網站
因爲這裏我用的是win08的,在安裝sqlserver的時候存在一些坑,須要提早安裝.net2.0、.net4.0的環境的,還有所須要的vc環境,這個根據本身具體的配置環境來進行安裝便可,這裏還有一點就是須要更改防火牆規則。ui
0x02 IIS配置
這裏直接安裝IIS便可
這裏因爲咱們要使IIS支持PHP,因此這裏須要增長一下CGI模塊
而後等待安裝便可
在安裝好以後咱們先配置一下IIS,讓其生效,並測試一下可否正常工做,這裏按照本身的配置去設置
設置好以後,咱們本身建立一個index.html進行一次測試
這個時候可能出現這個狀況
這是因爲文件夾權限的問題,咱們須要對文件夾進行受權,添加IUSR
用戶權限
而後重啓服務便可正常訪問
這裏因爲我沒有在index.html填寫內容,因此會顯示一個空白頁面,不過也能證實能夠正常訪問了
0x03 PHP配置
接下來配置PHP
咱們先從官網下載相應的PHP版本,這裏的版本必定要注意,由於以後配置PHP與SQL server鏈接的話,是對版本要求特別嚴格的,最好都注意一下。
而後去PHP的官網下載對應的PHP
https://www.php.net/downloads.php
這裏我用的是PHP7.2
在下載這裏你們也都注意一下,我簡單說一下
上面兩個爲x64版本的,下面爲x86的,第一個是非線程安全的,第二個是線程安全的
這裏我選擇64位非線程安全的ZIP文件,在下載後解壓到相應文件夾便可
這裏你們可能會注意到前面的VC15的字樣,這個是要求有對應的VC運行庫的,這個問題自行解決。
在下載完成以後將文件夾放到咱們所須要的目錄下便可
這裏須要注意一下,安裝好的PHP文件夾是不存在php.ini文件的,它有生產環境和開發環境兩種。
咱們須要將其中的一個更名爲php.ini才能夠
0x04 配置IIS支持PHP
在php.ini中找到下列內容並更改
找到 extension_dir = "./"
,更改其中的路徑爲本身PHP所在位置的ext文件夾,並去掉文件開頭的註釋
找到 cgi.force_redirect = 1
,將1更改成0,並去掉註釋
找到 cgi.fix_pathinfo=1
,去掉註釋
找到 fastcgi.impersonate = 1 ,去掉註釋
接下來去IIS添加模塊映射
而後添加以下內容
緊接着進入網站目錄寫入phpinfo文件,查看是否成功
這裏若是出現了以下的狀況,可能就是因爲沒有安裝對應的運行庫而形成的
若是沒有問題,將會出現以下的界面
0x05 PHP鏈接SQL server
咱們先去下載SQL server擴展
Microsoft Drivers for PHP for SQL Server https://docs.microsoft.com/zh-cn/sql/connect/php/download-drivers-php-sql-server?view=sql-server-2017
根據系統要求,咱們去下載5.6版本的擴展文件,具體系統要求能夠在下面這個網址中查看
https://docs.microsoft.com/zh-cn/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-2017
下載完成以後直接將文件放到咱們的ext目錄下
完成後,會增長下列的擴展文件
接着,咱們須要去php.ini中添加所要加載的擴展
咱們安裝的是PHP7.2的64位非線程安全版本,因此這裏須要添加以下的內容
extension=php_pdo_sqlsrv_72_nts_x64 extension=php_sqlsrv_72_nts_x64
而後刷新phpinfo頁面,查看是否成功
最後,咱們來安裝一下ODBC驅動
Microsoft® ODBC Driver 13.1 for SQL Server https://www.microsoft.com/en-us/download/details.aspx?id=53339
選擇對應的版本安裝便可
到這裏爲止,咱們就完成了整個的部署
最後再進行一次測試
已經成功查詢到結果
本文由博客一文多發平臺 OpenWrite 發佈!