| 層級 | 組件 | 主流選擇 | 說明 |
|---|---|---|---|
| 作業系統 | Linux / Windows | Ubuntu 22.04 LTS / Windows Server 2022 | LAMP / WAMP |
| Web 服務器 | Nginx / Apache / IIS | Nginx (高併發) / Apache (兼容 .htaccess) | 反向代理、靜態資源、PHP-FPM 協作 |
| PHP 運行環境 | PHP-FPM | PHP 8.2/8.3 (積極維護版) | FastCGI 進程管理器,解析 PHP |
| 數據庫 | MySQL / MariaDB / PostgreSQL | MySQL 8.0 / MariaDB 10.11 | 關係型存儲 |
| 緩存 | Redis / Memcached | Redis 7.x | 會話、緩存、隊列 |
| 進程管理 | Systemd / Supervisor | Systemd (原生) / Supervisor (跨平台) | PHP-FPM、Queue Worker 守護 |
| 套件 | 平台 | 包含組件 | 特點 |
|---|---|---|---|
| XAMPP | Win/Linux/macOS | Apache, MariaDB, PHP, Perl | 圖形界面、組件版本固定、適合學習 |
| WampServer | Windows | Apache, MySQL, PHP | 系統托盤管理、多版本切換方便 |
| phpStudy (小皮面板) | Win/Linux | Nginx/Apache, MySQL, PHP, Redis | 國產、中文界面、一鍵切換版本、佈站快 |
| Docker + docker-compose | 全平台 | 自定義鎜像組合 | 生產一致性最佳、版本隔離、CI/CD 友好 |
php -v 確認版本與擴展 (pdo_mysql, redis, opcache, gd, mbstring, intl, zip, bcmath)nginx -t && systemctl reload nginx 配置語法檢查mysql -u root -p -e "SELECT VERSION();" 數據庫連通redis-cli ping 返回 PONGphpinfo() 頁面確認核心參數 (upload_max_filesize, post_max_size, max_execution_time, date.timezone=Asia/Shanghai)| 坑點 | 解決 |
|---|---|
| PHP-FPM 與 Nginx 用戶/組不一致導致權限錯誤 | 統一設置 user www-data; (Nginx) 與 user = www-data (php-fpm.conf) |
| OPcache 未開啟導致性能低 | opcache.enable=1 + 生產優化參數 |
| 時區未設置導致日期函數偏差 | date.timezone = Asia/Shanghai (php.ini) |
| 上傳大文件失敗 | 調整 upload_max_filesize, post_max_size, client_max_body_size (Nginx) |
| Composer 全量鏡像源慢 | 配置阿里雲/騰訊雲鏡像: composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ |
**學習/開發**:XAMPP / phpStudy 一鍵搞定。**生產**:Linux + Nginx + PHP-FPM + MySQL + Redis + Docker 化部署。編輯器選 VS Code 或 PhpStorm,不屬於「環境搭建」範疇。