《PHP應(yīng)用:在win7中搭建Linux+PHP 開發(fā)環(huán)境》要點(diǎn):
本文介紹了PHP應(yīng)用:在win7中搭建Linux+PHP 開發(fā)環(huán)境,希望對您有用。如果有疑問,可以聯(lián)系我們。
我用了 3 年多的 Linux 桌面,很是不爽,主要是各個(gè)軟件的體驗(yàn)不夠統(tǒng)一,太分裂,太多選擇讓人無從選擇.
而回到 Windows, 則更糟糕,使用 *nix 工具集變得非常折騰,部署 Web 環(huán)境也很麻煩,而且我的服務(wù)器都是 Linux 的,代碼里有些功能是不能運(yùn)行在 Windows 上的.PHP實(shí)例
因?yàn)槲遗紶栠€打打游戲,一個(gè)月前,我還是選擇回到 Windows 桌面.
但我下面的這些軟件幾乎都是跨平臺(tái)的,如果你使用 Linux 桌面,也不會(huì)有什么影響的.PHP實(shí)例
我的主機(jī)是 Windows 7 x64, 然后跑一個(gè) Arch 的虛擬機(jī),所有代碼的運(yùn)行和調(diào)試都在虛擬機(jī)中進(jìn)行.PHP實(shí)例
Arch 虛擬機(jī)PHP實(shí)例
Arch 安裝略折騰,但我喜歡它 KISS 的哲學(xué),我用 VirtualBox, 分配 512MiB 甚至 256MiB 就夠用了.
網(wǎng)絡(luò)改成「橋接網(wǎng)卡」然后在路由器設(shè)置一個(gè) MAC 綁定的固定 IP, 我給虛擬機(jī)的是 192.168.0.105, 而我主機(jī)的是 192.168.0.100.PHP實(shí)例
必要裝的軟件包最核心的有:openssh, nginx, mariadb, php, xdebug.
至于其他一些:vim, mongodb, php-mongo, phpmyadmin 就看個(gè)人必要了.PHP實(shí)例
直接在 VirtualBox 的虛擬機(jī)窗口上敲命令很不方便,我會(huì)裝一個(gè)叫 VirtuaWin 的虛擬桌面軟件,類似于 KDE 的 Workspace(工作區(qū)), 把 VirtualBox 的窗口丟到另一個(gè)桌面.
然后用 XShell 連 SSH 上去敲命令.PHP實(shí)例
當(dāng)然你還必要建一個(gè)非 root 賬戶來日常使用,我建了一個(gè) jysperm.
然后你可以修改 /etc/php/php-fpm.conf:PHP實(shí)例
user = jysperm
group = jysperm
這樣 PHP-FPM 的進(jìn)程會(huì)以你的用戶來跑,讀寫文件不會(huì)遇到任何權(quán)限問題.PHP實(shí)例
作為開發(fā)服務(wù)器,可能同時(shí)必要開發(fā)測試多個(gè)項(xiàng)目,每次都要去 Nginx 里面新建站點(diǎn)是很折騰的事情,下面的配置文件可以讓你一勞永逸:PHP實(shí)例
??? access_log /home/jysperm/nginx.access.log;
??? error_log /home/jysperm/nginx.error.log;PHP實(shí)例
??? index index.html index.php;
??? autoindex on;PHP實(shí)例
??? root /home/jysperm/$dir;PHP實(shí)例
??? location / {
??????? try_files $uri $uri/ /index.php?$args;
??? }PHP實(shí)例
??? location ~ \.php$ {
??????? fastcgi_pass unix:/run/php-fpm/php-fpm.sock;PHP實(shí)例
??????? fastcgi_index index.php;
??????? include fastcgi_params;
??? }
}
PHP實(shí)例
*.ab.jyprince.me 這個(gè)域名被我解析到了 192.168.0.105, 這樣下來,只需拜訪 test.ab.jyprince.me, 就相當(dāng)于拜訪位于 /home/jysperm/test 中的文件了,以后就不用再修改 Nginx 的配置文件了.PHP實(shí)例
PHPStormPHP實(shí)例
我見過最好的 IDE 是 PHPStorm.PHP實(shí)例
PHPStorm 的 Deployment 功能可以在你每次修改文件后自動(dòng)部署到服務(wù)器,你只需建一個(gè) SFTP 類型的服務(wù)器,并把 Arch 虛擬機(jī)的信息填上去,然后勾選 Automatic Upload 就好.
每一個(gè)項(xiàng)目都上傳到 /home/jysperm 下的一個(gè)文件夾.PHP實(shí)例
然后拜訪 項(xiàng)目名.ab.jysperm.me 就行了,一切都是自動(dòng)的.PHP實(shí)例
遠(yuǎn)程調(diào)試PHP實(shí)例
在 Arch 虛擬機(jī)中修改 /etc/php/conf.d/xdebug.ini:PHP實(shí)例
然后在 PHPStorm 中新建一個(gè) PHP Remote Debug 即可.
需要調(diào)試時(shí),先在 PHPStorm 中打開調(diào)試,設(shè)上斷點(diǎn),然后讓哀求帶上 XDEBUG_SESSION=jysperm 的 Cookie 即可.
調(diào)試頁面的時(shí)候,可以用 這個(gè)工具 生成書簽,點(diǎn)擊書簽就可以控制調(diào)試的開關(guān)了.PHP實(shí)例
調(diào)試 RESTful API 的話我一般會(huì)用一個(gè)叫 Postman 的 Chrome 擴(kuò)展,這個(gè)應(yīng)用似乎沒有編纂 Cookie 的功能,這樣的話,在 HTTP Header 里加上一項(xiàng) Cookie:XDEBUG_SESSION=jysperm 就行了.PHP實(shí)例
其他保舉PHP實(shí)例
Robomogo - 跨平臺(tái)的 Mongo GUI 客戶端
SourceTree - Windows 下的 Git GUI
Secure Shell - Chrome 中的 SSH
Clover - 讓 Windows 的資源管理器像 Chrome 一樣
FileZilla - 跨平臺(tái)的 FTP 客戶端
SmartGit - 跨平臺(tái)的 Git GUI
Sublime Text - 好用的跨平臺(tái)編纂器PHP實(shí)例
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP應(yīng)用:在win7中搭建Linux+PHP 開發(fā)環(huán)境》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/14581.html