程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 在win7中搭建Linux+PHP 開發環境

在win7中搭建Linux+PHP 開發環境

編輯:PHP綜合

我用了 3 年多的 Linux 桌面,很是不爽,主要是各個軟件的體驗不夠統一,太分裂,太多選擇讓人無從選擇。
而回到 Windows, 則更糟糕,使用 *nix 工具集變得非常折騰,部署 Web 環境也很麻煩,而且我的服務器都是 Linux 的,代碼裡有些功能是不能運行在 Windows 上的。

因為我偶爾還打打游戲,一個月前,我還是選擇回到 Windows 桌面。
但我下面的這些軟件幾乎都是跨平台的,如果你使用 Linux 桌面,也不會有什麼影響的。

我的主機是 Windows 7 x64, 然後跑一個 Arch 的虛擬機,所有代碼的運行和調試都在虛擬機中進行。

Arch 虛擬機

Arch 安裝略折騰,但我喜歡它 KISS 的哲學,我用 VirtualBox, 分配 512MiB 甚至 256MiB 就夠用了。
網絡改成「橋接網卡」然後在路由器設置一個 MAC 綁定的固定 IP, 我給虛擬機的是 192.168.0.105, 而我主機的是 192.168.0.100.

需要裝的軟件包最核心的有:openssh, nginx, mariadb, php, xdebug.
至於其他一些:vim, mongodb, php-mongo, phpmyadmin 就看個人需要了。

直接在 VirtualBox 的虛擬機窗口上敲命令很不方便,我會裝一個叫 VirtuaWin 的虛擬桌面軟件,類似於 KDE 的 Workspace(工作區), 把 VirtualBox 的窗口丟到另一個桌面。
然後用 XShell 連 SSH 上去敲命令。

當然你還需要建一個非 root 賬戶來日常使用,我建了一個 jysperm.
然後你可以修改 /etc/php/php-fpm.conf:

user = jysperm
group = jysperm
這樣 PHP-FPM 的進程會以你的用戶來跑,讀寫文件不會遇到任何權限問題。

作為開發服務器,可能同時需要開發測試多個項目,每次都要去 Nginx 裡面新建站點是很折騰的事情,下面的配置文件可以讓你一勞永逸:

復制代碼 代碼如下:
server {
    listen 80;
    server_name ~(?<dir>.*)\.ab\.jyprince\.me$;

    access_log /home/jysperm/nginx.access.log;
    error_log /home/jysperm/nginx.error.log;

    index index.html index.php;
    autoindex on;

    root /home/jysperm/$dir;

    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;
    }
}

*.ab.jyprince.me 這個域名被我解析到了 192.168.0.105, 這樣下來,只需訪問 test.ab.jyprince.me, 就相當於訪問位於 /home/jysperm/test 中的文件了,以後就不用再修改 Nginx 的配置文件了。

PHPStorm

我見過最好的 IDE 是 PHPStorm.

PHPStorm 的 Deployment 功能可以在你每次修改文件後自動部署到服務器,你只需建一個 SFTP 類型的服務器,並把 Arch 虛擬機的信息填上去,然後勾選 Automatic Upload 就好。
每一個項目都上傳到 /home/jysperm 下的一個文件夾。

然後訪問 項目名.ab.jysperm.me 就行了,一切都是自動的。

遠程調試

在 Arch 虛擬機中修改 /etc/php/conf.d/xdebug.ini:

復制代碼 代碼如下:
zend_extension=/usr/lib/php/modules/xdebug.so
xdebug.remote_enable=on
xdebug.idekey=jysperm
xdebug.remote_host=192.168.0.100
xdebug.remote_port=9000

然後在 PHPStorm 中新建一個 PHP Remote Debug 即可。
需要調試時,先在 PHPStorm 中打開調試,設上斷點,然後讓請求帶上 XDEBUG_SESSION=jysperm 的 Cookie 即可。
調試頁面的時候,可以用 這個工具 生成書簽,點擊書簽就可以控制調試的開關了。

調試 RESTful API 的話我一般會用一個叫 Postman 的 Chrome 擴展,這個應用似乎沒有編輯 Cookie 的功能,這樣的話,在 HTTP Header 裡加上一項 Cookie:XDEBUG_SESSION=jysperm 就行了。

其他推薦

Robomogo - 跨平台的 Mongo GUI 客戶端
SourceTree - Windows 下的 Git GUI
Secure Shell - Chrome 中的 SSH
Clover - 讓 Windows 的資源管理器像 Chrome 一樣
FileZilla - 跨平台的 FTP 客戶端
SmartGit - 跨平台的 Git GUI
Sublime Text - 好用的跨平台編輯器

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved