前言
為了調試優化一個PHP的項目,基於VMware本地起了一個ubuntu的虛機進行開發,通過vscode遠程連接到服務器上進行開發,本來這樣其實就足夠了,但是vscode和phpstrom比還要自己安裝配置一些插件,有點浪費時間,這時候就想通過phpstrom的遠程連接上去開發,誰曾想phpstrom的遠程開發對比vscode來説很容易斷開,這誰能忍啊,於是便有了這個隨筆,其實本質上我就想折騰下,哈哈哈哈。
VMware Fusion: 專業版 13.6.2 (24409261)
macOS :15.2 / M2 Max
內容
基本的操作直接參考官方的即可,這裏不做描述,直接貼圖了,官方給的教程缺少了比較關鍵的一步,不過可能認為這個是常識,就沒有放在文檔裏吧,之前在windows機器上使用VMware好像沒遇到這種問題,應該是有自動掛載的機制。
基礎步驟
掛載步驟
我這裏是本地的開發環境,默認使用的是root賬户,如果你本地不是root賬户,不要忘記加下
sudo
mount -t fuse.vmhgfs-fuse .host:/ /mnt -o allow_other
-
mount:是 Linux 系統中用於掛載文件系統的命令,通過它可以將磁盤分區、設備或者遠程共享文件夾等掛載到指定的掛載點上,使其在系統中可訪問。
-
-t fuse.vmhgfs-fuse:指定了要掛載的文件系統類型。在這裏表明掛載的是 VMware 虛擬機所使用的一種通過 fuse(用户空間文件系統)實現的 vmhgfs(VMware Host-Guest File System,VMware 宿主機 - 客户機文件系統)類型的文件系統。fuse 機制允許在用户空間實現文件系統,這樣就能方便地在虛擬機環境中掛載和使用相關的共享資源。
-
.host:/:這是要掛載的源,也就是宿主機上設置的共享文件夾對應的掛載路徑表示方式(在 VMware 虛擬機環境下的特定表示形式)。具體共享的哪些文件夾需要在 VMware 虛擬機軟件的相關設置中提前配置好,這裏 .host:/ 就代表了宿主機上可共享給虛擬機訪問的資源入口。
-
/mnt:這是掛載點,即將宿主機共享文件夾掛載到虛擬機內的 /mnt 目錄下。掛載完成後,在虛擬機的 /mnt 目錄中就能訪問到宿主機共享過來的文件了。掛載點可以根據實際需求自行選擇其他合適的空目錄,不過 /mnt 是 Linux 系統中比較常用的掛載目錄之一,符合慣例。
-
-o allow_other:這是掛載選項,allow_other 表示允許除了掛載操作執行者之外的其他用户也能訪問掛載後的文件資源。如果不添加這個選項,默認可能只有執行掛載命令的用户有權限訪問掛載後的共享文件夾內容,添加後可以方便虛擬機內多個用户(如果存在的話)都能對共享文件夾進行操作。
擴展內容
正常來説,按着上面操作其實就已經結束了,不過咱們這個本意不是為了方便本地調試開發PHP的項目嘛,所以還要做一些額外的操作,如下:
- 遷移目錄文件&創建軟連接
- 本地調試驗證
遷移文件
為了更好的區分文件,首先在掛載點創建一個目錄,再進行後續的遷移操作。
mkdir /mnt/development/ad-admin/
cd /data/wwwroot/
cp -rvf /data/wwwroot/test.local-server.com /mnt/development/ad-admin/
ln -s /mnt/development/ad-admin/test.local-server.com /data/wwwroot/test.local-server.com
本地驗證
只要文件正常展示,接口能夠正常調用就説明整個流程已經跑通了。
- 查看文件是否正常展示
- 調用接口進行驗證