Zend Framework 2(現 Laminas)是 PHP 官方框架,雖國內較少用,但架構嚴謹、適合企業級應用。本文提供一鍵安裝腳本(LNMP + mod_fcgid),並演示用 Composer 安裝官方骨架專案、配置 Nginx 虛擬主機、驗證環境的完整流程。
install_web_develop.sh支援 CentOS/RedHat/Debian/Ubuntu,自動安裝:
php.ini、php-fpm.conf、nginx.conf、my.cnf、iptables 開放 80/3306、rc.local 開機自啟# 下載並執行(需 root)
wget https://example.com/install_web_develop.sh
chmod +x install_web_develop.sh
./install_web_develop.sh
# 或分步:./install_web_develop.sh -base && ./install_web_develop.sh -m && ./install_web_develop.sh -p 5.4 && ./install_web_develop.sh -n
完整腳本內容較長,請參考原文或自行根據需求精簡。生產環境建議使用 Ansible/Docker 替代手動腳本。
cd ~/work
git clone https://github.com/viticm/ZendSkeletonApplication
cd ZendSkeletonApplication
php composer.phar self-update
php composer.phar install # 需外網下載依賴,耐心等待
# 部署到網站目錄
mkdir -p /data/www/zf2
cp -r * /data/www/zf2/
server {
listen 80;
server_name zf2.local.com;
root /data/www/zf2/public;
index index.php;
location ~* \.(js|ico|gif|jpg|png|css|jpeg|swf)$ {
access_log off;
expires 2d;
}
location / {
if (!-f $request_filename) {
rewrite ^(.+)$ /index.php?$1& last;
}
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; # 對應 php-fpm 監聽
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht { deny all; }
}
/etc/hosts(或本機 hosts)綁定:192.168.x.x zf2.local.comhttps://zf2.local.com 應看到 ZF2 歡迎頁。public/index.php 頂部加入:ini_set('display_errors', 'on'); error_reporting(E_ALL); 觀察錯誤,常見缺擴展或權限問題。mod_fcgid,配置 FcgidWrapper 指向 php-cgi。httpd.conf 或 nginx.conf 的 fastcgi_pass 指向不同版本 PHP-FPM socket/port。$PATH 優先順序或用 update-alternatives 管理 php 鏈接。雖然 ZF2 學習曲線較陡、社群資源較少,但其模組化、事件驅動、依賴注入等現代架構思想值得學習。本文腳本與配置可作為「手動構建 LNMP + 框架」的教學樣板,實際專案建議採用 Docker Compose 或 Kubernetes 實現環境一致性與彈性擴縮容。