1 頁 (共 1 頁)

Win11P 安裝 Apache + PHP + MySQL 安裝記錄 (Apache24 部份)

發表於 : 2025-08-03, 11:51
dtchang
(未完成)
0. 安裝前需求:安裝 Visual C++ Redistributable
Apache Windows 版本需對應的 C++ 運行庫(VC runtime)才能啟動。
Microsoft Visual C++ 2015–2022 Redistributable (x64)
https://aka.ms/vs/17/release/vc_redist.x64.exe
安裝完後,系統需要重啟才能生效.

1. 下載 Apache 2.4 for Windows
https://www.apachelounge.com/download/
如: httpd-2.4.xx-win64-VS17.zip(64 位元,Visual Studio 2017 編譯版本)

2. 安裝 Apache
步驟 1:解壓縮
將下載的 httpd-2.4.xx-win64-VS17.zip 解壓縮至例如:C:\Apache24
保持原始資料夾結構,否則 Apache 無法找到配置檔

步驟 2:測試執行
開啟 命令提示字元(cmd),並以系統管理員身分執行

代碼: 選擇全部

cd \Apache24\bin
httpd.exe -k install
httpd.exe -k start
安裝成功,但無法啟動. 因為 httpd.conf 檔設定檔產生 無法識別主機名稱的錯誤!
C:\Apache24\bin>httpd.exe -k install
Installing the 'Apache2.4' service
The 'Apache2.4' service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.
AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::13c0:b0d4:ebab:8a1d. Set the 'ServerName' directive globally to suppress this message

C:\Apache24\bin>httpd.exe -k start
AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::13c0:b0d4:ebab:8a1d. Set the 'ServerName' directive globally to suppress this message
依照需求設定 ServerName, 如: 本地測試用則可以設為 127.0.0.1: 80 (預設web連接埠為 80)

代碼: 選擇全部

#ServerName www.example.com:80
ServerName 127.0.0.1:80
✔ 成功後,瀏覽器輸入:http://localhost

註: 安裝 PHP 時也需要其配合的 VC 版本才能運行. 如: PHP 5.6 需要 VC11,為舊有的版本.故系統可能會安裝數個不同VC版本.

apache 常用模組設定

代碼: 選擇全部

LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule auth_form_module modules/mod_auth_form.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_core_module modules/mod_authn_core.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_core_module modules/mod_authz_core.so
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
#LoadModule dumpio_module modules/mod_dumpio.so
LoadModule env_module modules/mod_env.so
LoadModule headers_module modules/mod_headers.so
LoadModule include_module modules/mod_include.so
#LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule status_module modules/mod_status.so

細項參考設定

代碼: 選擇全部

ErrorLog "|bin/rotatelogs.exe -l C:/Apache24/logs/error_50M.%Y-%m-%d.log 50MB"
LogLevel warn
CustomLog "|bin/rotatelogs.exe -l C:/Apache24/logs/access_50M.%m.%d.log 50M" common

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

<IfModule deflate_module>
    AddOutputFilterByType DEFLATE text/html text/css application/javascript
    DeflateCompressionLevel 6       # 平衡壓縮率與 CPU 開銷
</IfModule>

#PHP 參考設定,本例為: PHP 5.6.40 (這是很舊的版本,為舊系統用的)
PHPIniDir "C:/php-5.6.40"

LoadModule php5_module "C:/php-5.6.40/php5apache2_4.dll"
AddType application/x-httpd-php .php

# load curl and open ssl libraries

LoadFile "C:/php-5.6.40/php5ts.dll"
LoadFile "C:/php-5.6.40/libeay32.dll"
LoadFile "C:/php-5.6.40/ssleay32.dll"
LoadFile "C:/php-5.6.40/libssh2.dll"

#依需要調整
KeepAlive On
KeepAliveTimeout 5
MaxKeepAliveRequests 1000
MaxRequestsPerChild 5000
MaxMemFree 262144

#依需要調整
#或者 <IfModule mpm_winnt.c>
<IfModule mpm_winnt_module>
    ThreadLimit         1500        # 最大執行緒數上限
    ThreadsPerChild     1024        # 每個子進程的執行緒數(依 RAM 調整)
    MaxConnectionsPerChild  10000   # 子進程處理 10k 請求後重啟,防記憶體洩漏
    AcceptFilter http None          # 關閉過濾器提升效能
    AcceptFilter https None
</IfModule>