PHP 是眾多網頁開發者所使用的程式語言,想要快速學習網頁程式語言的話,PHP 是值得推薦的選擇。
而 IIS 是微軟內建的網頁伺服器,大多運行 ASP.Net 網頁服務,這次要教學的是如何讓 Windows IIS 也能運行 PHP 網頁服務。
接下來會教學如何在 Windows Server 上安裝 PHP 在 IIS 伺服器
我示範的環境為 Windows Server 2019
開啟控制台 > 程式集 > 程式和功能 > 開啟或關閉 Windows 功能
選擇「角色型或功能型安裝」
點下一步
勾選「網頁伺服器(IIS)」
選取功能直接點下一步
在 IIS 的角色服務勾選「應用程式開發 > CGI」
點擊安裝
PHP 官網介紹: PHP 官網
PHP Windows 下載連結: v7.4
PHP v7.4 會提供 4 種版本,分別為 64 位元執行緒安全版本、64 位元非執行緒安全版本、32 位元執行緒安全版本、32 位元非執行緒安全版本。
以 Windows IIS 的環境適合選擇非執行緒安全版本,而執行緒安全版本適用在 Apache 的運行環境
接著就依你的 Server 為 64 或 32 位元版本下載。
我示範環境為 Windows Server 2019 64 位元。
將下載檔案解壓縮放在 C:\ (解壓位置可自行決定)
安裝 Visual C++ Redistributable for Visual Studio 2015-2019 套件
X64 版本 x86 版本
php.ini 是設定 php 運行的環境參數,但預設是沒有 php.ini 檔案的,需要由範本修改。
將 php 目錄內 php.ini-development 複製貼上並命名為 php.ini。
以下修改 php.ini 是適合在 IIS 上的設定
此修改為設定 php 主程式的位置,注意路徑位置為剛剛下載 PHP 解壓縮的位置
此修改為設定台北時區
此修改是調整執行等待時間為 300 秒,預設是 30 秒,因為有時候執行一些更新動作會比較慢,30 秒會顯的不夠用,或是網速過慢也會造成 30 秒 TimeOut。
啟用 PHP 的 Openssl 是低風險的行為,它主要是允許向外溝通時使用 Https Web 通信,現在大多數網站已採用 SSL 通信機制,所以啟用 PHP 的 Openssl 是很必要的設定。
接下來是選用的修改,若你有需要時再設定就好
此修改為啟用 MySQL 資料庫服務。
搜尋「upload_max_filesize = 2M」修改為「upload_max_filesize = 20M」
預設的上傳檔案太小了,若有需要可以自己調大。
修改完記得儲存 php.ini 檔案。
執行「IIS > 應用程式集區 > 新增應用程式集區」。
名稱: PHP (可自行名稱)
.NET CLR 版本: 沒有受控碼
受控管線模式: 整合式
建立 PHP 網站目錄 C:\php_web (可自定目錄位置)
此目錄為放置 PHP 程式碼的位置。
在 IIS 的站台上按右鍵 > 新增網站
輸入站台名稱,應用程式集區選擇 PHP,實體路徑選擇放 PHP 程式碼的目錄,連接埠若 80 port 被使用了,就需要設定不同的主機名稱才可以使用相同的 80 port,或是指定其他的 port。
點擊「站台 > php_web > 處理常式對應」
右側「新增模組對應」
輸入如圖的設定
要求路徑: *.php
模組: FastCgiModeule
執行檔: C:\php-7.4.19-nts-Win32-vc15-x64\php-cgi.exe
名稱: php FastCgi
注意: 選擇執行檔時要修改副檔案為 .exe
點「要求限制」,將「對應」選擇「檔案或資料夾」。
確認視窗按「是」
點擊「預設文件」
點擊「新增」 輸入 "index.php" 按「確定」
在 PHP 網站的目錄下新增「index.php」檔案
在 index.php 檔案內寫測試語法
<?php
phpinfo();
?>
儲存文件。
點擊 IIS 的 PHP 站台,右側點擊「瀏覽 *8080」
如果出現 PHP 相關資訊,表示環境已設定完成。