Cygwin 為 Windows 提供類 Unix 環境,通過 apt-cyg 包管理器可便捷安裝 PHP 及擴展。本文記錄完整安裝流程、常見問題排查與驗證步驟。
# 1. 下載 apt-cyg 腳本 wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg # 2. 賦予執行權限 chmod +x apt-cyg # 3. 移動到 PATH 目錄 mv apt-cyg /usr/local/bin/ # 4. 驗證安裝 apt-cyg --help
注意:原 Google Code 托管地址已失效,現遷移至 GitHub。若 wget 不可用,可用 curl -O 或 lynx -source 替代。
# 查看當前鏡像 apt-cyg showmirror # 設置國內鏡像(如中科大、阿里雲、清華) apt-cyg mirror https://mirrors.ustc.edu.cn/cygwin/ # 或臨時指定安裝源 apt-cyg install php -m https://mirrors.ustc.edu.cn/cygwin/
# 核心包 apt-cyg install php # 常用擴展(按需選擇) apt-cyg install php-mysqlnd # MySQL 原生驅動 apt-cyg install php-pdo # PDO 抽象層 apt-cyg install php-gd # 圖像處理 apt-cyg install php-mbstring # 多字節字符串 apt-cyg install php-curl # HTTP 客戶端 apt-cyg install php-json # JSON 支持 apt-cyg install php-xml # XML 解析 apt-cyg install php-openssl # SSL/TLS apt-cyg install php-zip # 壓縮包處理 apt-cyg install php-intl # 國際化 apt-cyg install php-xdebug # 調試擴展(開發環境) # 搜索可用 PHP 包 apt-cyg find php-
# 1. 檢查 PHP 版本 php -v # 輸出示例: # PHP 8.2.12 (cli) (built: Oct 26 2023 14:30:00) (NTS) # Copyright (c) 1997-2023 The PHP Group # Zend Engine v4.2.12, Copyright (c) 1998-2023 Zend Technologies # 2. 檢查已載入擴展 php -m # 3. 檢查配置文件路徑 php --ini # 輸出示例: # Configuration File (php.ini) Path: /etc # Loaded Configuration File: /etc/php.ini # Scan for additional .ini files in: /etc/php.d # 4. 測試基本腳本執行 echo '步驟五:常見問題排查
| 問題 | 原因 | 解決方案 |
|---|---|---|
| apt-cyg: command not found | 未加入 PATH 或安裝失敗 | 檢查 /usr/local/bin/apt-cyg 存在且可執行,重新 source ~/.bashrc |
| 下載超時/失敗 | 官方源網絡不通 | 設置國內鏡像源,或使用 -m 參數臨時指定 |
| 依賴包衝突 | 已安裝舊版本庫衝突 | apt-cyg remove 舊包,再重新安裝 |
| php: error while loading shared libraries | 缺少運行時依賴庫 | apt-cyg install 缺失的庫(如 libxml2, libcurl, libpng) |
| 擴展未生效 | php.ini 未啟用或版本不匹配 | 檢查 php --ini 載入的配置,確認 extension=xxx 設置 |
| 權限拒絕 | 系統目錄寫入需要管理員 | 以管理員身份運行 Cygwin Terminal |
echo 'alias php="/usr/bin/php"' >> ~/.bashrc source ~/.bashrc
# 安裝 Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
php -r "unlink('composer-setup.php');"
# 安裝 PHP_CodeSniffer、PHPStan 等靜態分析工具
composer global require squizlabs/php_codesniffer phpstan/phpstan
/usr/bin/phpCygwin 庫通常提供單一穩定版 PHP。若需多版本共存或最新版,建議:
phpbrew 或 php-version 管理多版本apt/ppa:ondrej/php 獲得完整版本控制docker run -it php:8.2-cli)Cygwin + apt-cyg 為 Windows 提供了輕量級 PHP 運行環境,適合學習、腳本編寫、輕量級 CLI 工具開發。生產級 Web 服務建議使用 WSL2/Linux 原生環境或 Docker 容器化部署。