搭建PHP開發環境時, 若是是單一操做系統, 不管 純windows 開發仍是 純linux 都會有諸多不便。php
純windows: 開發環境與線上linux環境的不一致每每形成一些部署問題 純linux: 許多經常使用windows軟件沒法使用
因此一種常見的php開發環境搭建以下:python
搭建虛擬機, vmware下跑linux服務器版, window下secureCRT遠程管理該虛機。 windows實機與linux虛機間共享一個目錄, windows下的PHPStorm等IDE在該共享目錄下開發。 但在linux下運行該項目的web服務, 服務測試在windows下的瀏覽器中進行。
一。利用Vmware自帶的共享目錄功能, 將window下的共享目錄 共享給linux虛機,這點可在虛擬機配置對話框中進行。linux
該策略會涉及兩方面問題。 第一點 因爲系統環境的不一樣, 常常會碰到共享目錄在linux下沒法讀出,解決方案根據ubuntu仍是centos各有不一樣。 ubuntu解決方案網上較多, centos解決方案請見 http://my.oschina.net/u/2400083/blog/474940。 第二點 因爲共享的是windows文件格式協議的目錄, 因此在虛擬中,該共享目錄不支持 權限設定 和 軟連接。 這點至關致命, 尤爲是碰到作相似於symfony框架項目的開發, 其中每每涉及到軟鏈接問題。 python開發就更不用說了, 處處都是軟鏈接。
二。利用Vmware自帶的映射虛擬磁盤功能,這點可在vmware菜單欄的文件選項卡下實施。web
該策略能夠把整個虛機的某個分區映射給windows實機, 可是 要求虛擬關機狀態下才能實施,因此這隻適合於特殊狀況了。
三。利用samba文件共享協議,該策略我比較推薦的方案。ubuntu
概要的講就是在虛機中搭建smb服務, 共享某個目錄,而後在windows實機中映射網路驅動器到該共享目錄。 實施細節: 1.安裝samba服務 sudo yum install samba sudo chkconfig smb on #設置smb服務開機啓動 sudo service smb start #啓動smb服務 2.建立共享目錄 mkdir /opt/share 3.建立帳號 sudo useradd sambashare #系統帳號 sudo smbpasswd -a sambashare #加入到samba帳號 4.配置samba cd /etc/samba sudo cp smb.conf smb.conf.bak sudo vim smb.conf 在配置文件最後追加以下幾行: [share] comment = share directory for develop path = /opt/share valid users = sambashare public = no writable = yes create mask = 0777 directory mask = 0777 5.重啓smb服務 sudo service smb restart 6.關閉防火牆 ## centos6.5下 service iptables stop chkconfig iptables off ## centos7下 service firewalld stop chkconfig firewalld off 7.關閉selinux setenforce 0 ## vi /etc/selinux/config SELINUX=disabled 8.進入windows的資源管理器,選擇映射網絡驅動器,文件夾路徑爲: \\虛機ip\share 9.windows下cmd輸入命令 "net use", 查看共享信息
四。第四點是寫完文檔的最後又發現的一種不錯的方法,我的沒有嘗試過。vim
進入linux虛機,對共享目錄右鍵配置共享, 而後在windows實機中配置映射網絡驅動器鏈接該共享目錄。