Windows 桌面體驗好但原生 *nix 工具鏈弱;Linux 桌面工具鏈強但體驗碎片化。最佳折中:Windows 宿主機 + VirtualBox 運行輕量 Arch Linux 虛擬機,代碼在虛擬機運行調試,PHPStorm 通過 SFTP 自動同步、Xdebug 遠程調試。
192.168.0.105),宿主機 192.168.0.100pacman -S openssh nginx mariadb php php-fpm xdebug vim
# 可選:mongodb php-mongo phpmyadmin
useradd -m -G wheel -s /bin/bash devuser
passwd devuser
# PHP-FPM 以開發用戶運行,避免權限問題
# /etc/php/php-fpm.d/www.conf
user = devuser
group = devuser
# /etc/nginx/nginx.conf http 段
server {
listen 80;
server_name ~^(?<dir>.*)\.dev\.local$; # 泛域名匹配
root /home/devuser/$dir;
index index.php index.html;
autoindex on;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
將 *.dev.local 解析到 192.168.0.105(宿主機 hosts 或路由器 DNS)。新項目只需在 /home/devuser/ 建目錄,無需改 Nginx 配置。
192.168.0.105、User: devuser、Auth: Key/Password、Root path: /home/devuser/home/devuser/project-namehttps://project-name.dev.local 即可預覽zend_extension=xdebug.so
xdebug.mode = debug
xdebug.client_host = 192.168.0.100 ; 宿主機 IP
xdebug.client_port = 9003 ; Xdebug 3 默認端口
xdebug.idekey = PHPSTORM
xdebug.start_with_request = trigger ; 觸發模式
xdebug.log = /tmp/xdebug.log ; 調試連接問題用
9003、勾選 Can accept external connectionsproject-name.dev.local、Port 80、Path Mapping:本地路徑 ↔ /home/devuser/project-namePHPSTORMPHPSTORM,點擊圖標切換 Debug 模式?XDEBUG_SESSION_START=PHPSTORMCookie: XDEBUG_SESSION=PHPSTORM| 工具 | 用途 | 平台 |
|---|---|---|
| VirtuaWin | 虛擬桌面,隱藏 VirtualBox 窗口 | Windows |
| XShell / Tabby | SSH 客戶端 | 跨平台 |
| Robo 3T / MongoDB Compass | MongoDB GUI | 跨平台 |
| SourceTree / SmartGit | Git GUI | 跨平台 |
| FileZilla | FTP/SFTP 客戶端 | 跨平台 |
| Sublime Text / VS Code | 輕量編輯器 | 跨平台 |
| Secure Shell (Chrome App) | 瀏覽器 SSH | Chrome OS/瀏覽器 |
| Clover | 資源管理器多標籤 | Windows |