2020年4月11日 星期六

網站摸索筆記:win10 安裝Apache、PHP

想在本機建立網站開發環境,需要安裝php、Apache;

下載Apache
-可以根據作業系統下載對應版本(我是下載64bit)
-下載時要根據支援性再去下載對應的php版本,如下圖就要下載或VC15/14的php
-另外記得還要下載對應的 vc_redist_x64


下載PHP
-https://windows.php.net/download/
-版本很多不確定差異在哪,所以就下載了vc15 x64 Thread Safe的版本




安裝Apache------------------------------------------
將解壓縮Apache檔案放到預計的路徑中
- 這個路徑會影響httpd.conf檔案中的對應設定(我是放到F:\中)

設定httpd.conf檔案
Define SRVROOT "F:\Apache24" (存放解壓縮Apache檔案夾的路徑)
- 預設會將此路徑套用到以下資料參數 "ServerRoot"、"DocumentRoot "、"Directory "、"ScriptAlias"

安裝Apache服務
- 以管理者權限進入命令提示字元
- 輸入指令:[資料夾路徑]\bin\httpd.exe -k install -n apache 
(例:>F:\Apache24\bin\httpd.exe -k install -n apache)

以下是安裝成功的訊息,雖然有個我不知道是什麼的error;若有高手知道也請不吝告知。

這是第一次安裝出現的錯誤訊息,原因是SRVROOT <=這個參數設定錯誤,導致路徑不對。


啟動Apache服務
- 輸入指令:[資料夾路徑]\bin\httpd.exe -k start -n apache 
  (例:F:\Apache24\bin\httpd.exe -k start -n apache)
-在瀏覽器中輸入測試網址:http://localhost:8080, 或http://127.0.0.1:8080
若成功就會開啟原本在Apache安裝包中的測試頁,顯示It works!
(網址後的:8080<- 這個Port號設定可自訂)


*(補充) Port的設定在httpd.cong檔案中,有一個Listen 的參數
預設是80,但若本機有安裝IIS,80port就會被占用,所以要換成8080。

*(補充) 網站位置的設定預設為<Directory "${SRVROOT}/htdocs">
  根據所設定的SRVROOT參數而定,也可以自行變更。
  開發網站時也要將網頁檔放到此路徑中才能運作。


安裝PHP------------------------------------------
將解壓縮php檔案放到預計的路徑中
- 這個路徑會影響php的對應設定(我是放到c:\中)
- 解壓縮的目錄中會有php.ini-production, php.ini-development兩個檔案
- 先複製一個並變更檔名為php.ini (Apache中要設定 php.ini的對應路徑)

修改php.ini設定
- 修改以下extension_dir的參數為,php資料夾中的ext路徑
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
extension_dir = "C:\php-7.4.4-Win32-vc15-x64\ext"
; On windows:
extension_dir = "C:\php-7.4.4-Win32-vc15-x64\ext"

*Dynamic Extensions區塊中有很多extension,根據需要將#去掉

設定Apache取得PHP資料------------------------------------------
修改httpd.conf檔案
- 在檔案中加入php.ini檔案路徑資訊
#php.ini檔案路徑
PHPIniDir "C:/php-7.4.4-Win32-vc15-x64"

-在Dynamic Shared Object中載入php DLL
#載入php7
LoadModule php7_module C:/php-7.4.4-Win32-vc15-x64/php7apache2_4.dll

-在IfModule mime_module區塊中加入檔案php副檔名
<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .phps
</IfModule mime_module>

新增一個測試檔案:index.php,程式內容如下:
<?php  phpinfo(); ?>
-將檔案放到Apahche網站路徑中 \htdocs\

-在<IfModule dir_module>區塊中加入php測試路徑
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

重新啟動Apache
- 輸入指令:[資料夾路徑]\bin\httpd.exe -k restart -n apache 

安裝完成
- 在瀏覽器中輸入:http://localhost:8080/,看到以下頁面表示完成了


PHP.ini檔案上傳設定
file_uploads = On (表示允許上傳檔案)
- upload_tmp_dir =php_tmp_dir (設定檔案上傳暫存資料夾)
- upload_max_filesize = 20M (上傳檔案的尺寸上限)
- max_file_uploads = 20  (上傳檔案的數量上限)
- post_max_size = 20M(POST上傳檔案的尺寸上限,與upload_max_filesize配合,會以最小的為限制)
- max_input_time = 60 (POST上傳時的最大上傳時間為60秒)

沒有留言:

張貼留言