在 PhpStorm 中設定 WSL 裡的 phpcs

更新 發佈閱讀 4 分鐘
本文同步刊載於筆者個人網站:https://hhming.moe/post/phpstorm-wsl-configure-phpcs/

最近因為$$的關係,換去了新的工作。不過不幸的是新的工作大家都用 Windows + WSL 開發,不像我之前可以直接原生 Linux 用爽爽。往好處想,至少不是都用 Mac,這個大概會讓我直接往生,除非逼不得已不然不會選的。

不過也因為這樣,發現 Windows 11 的 WSL 進步好多,現在有 systemd 了,不像以前只能 call service 來看程序;也不用再跑設定才能讓 port 映射出來。不知道 Windows 10 的是否也有跟上,如果有的話就太好了。可是可以的話,到時還是直接 Framework 裝 Ubuntu 比較乾脆。

回到正題,在歡欣之餘,也碰到一些問題,最麻煩的就是今天主角──PhpStrom 中的 PHP_Codesniffer。

問題

PhpStrom 都幫你整合好了,只是設定個 PHP_Codesniffer 能有什麼問題?

在 Ubuntu 上我的確沒遇到問題,可是現在新工作後就碰到了奇怪的問題:

raw-image

先看上方這張圖,可以看到我已經設定好 PHP CLI interpeter 是 WSL 中直接安裝(非 Docker)的 PHP,版本是 8.3。

有沒有發現在 coding standard 的選單那邊有一個錯誤提示?PhpStorm 告訴我他無法找到其他 coding style 設定集。

好,接著看一下直譯器的設定:

raw-image

選好 composer 全域安裝的 phpcs 後按下 validate,嗯……Can not run PHP_Codesniffer?

在來回操作了幾次後都沒辦法成功,想說算了先不管他,回去編輯程式碼。欸,會動啊?走 PSR2,而且如果在 PhpStorm 設定關閉 PHP_Codesniffer 也真的就不會提示了,代表明明就能執行,是在唬爛我?

原本還想過說用 PhpStorm 中的 external tool 功能,可是發現有點難用,還要自己手動點就放棄了,整合度比不上有毛毛蟲在程式碼底下的 Quality tool。

解決

中間其實過了快兩週XD最後我真的受不了了決定再多試幾次,真的不行就直接放棄,關閉 PhpStrom 中的 PHP_Codesniffer 改去 Coding Style 設定就好(只是這樣好像不會每個規則都跳提示)

在我來回嘗試各種方法的時候,突然想到曾經在 StackOverflow 上看過有人說,不要用 PhpStorm 檔案選取器自動填入 \\wsl 開頭的,改成一般 Linux 使用的斜線路徑。於是我把 PhpStrom 中的 PHP_Codesniffer path 設定改成:

/home/username/.config/composer/vendor/squizlabs/php_codesniffer/bin/phpcs

結果:

raw-image

老天鵝真的能動了!趕快來去看看外層設定(如果沒變就關閉設定再打開就會重讀):

raw-image

謝天謝地,現在總算能放手開發,不用再擔心不小心寫出 failure style 了(雖然寫久就會知道,不過多個工具檢查總是有益無害)。

為了避免自己之後忘記,特地寫一篇當成筆記,或許未來有需要的人可以搜到這篇並順利解決。

留言
avatar-img
留言分享你的想法!
avatar-img
hms5232的沙龍
5會員
23內容數
hms5232的沙龍的其他內容
2025/04/03
輕小說式標題,看標題就看完整篇文。重點就是標題說的,有興趣聽廢話再點進來吧。
Thumbnail
2025/04/03
輕小說式標題,看標題就看完整篇文。重點就是標題說的,有興趣聽廢話再點進來吧。
Thumbnail
2025/03/15
謝謝蘇媽讓我的 9700X 突飛猛進,讓我拿到 3DMark Free PC Upgrade 成就!
Thumbnail
2025/03/15
謝謝蘇媽讓我的 9700X 突飛猛進,讓我拿到 3DMark Free PC Upgrade 成就!
Thumbnail
2024/12/29
上個月還在職的時候,公司有提供一些名額給員工報名參加這次的台北葡萄酒馬拉松。雖然我自己並沒特別喜歡喝紅酒,不過既然有免費的機會,當然是要去看看了!(不知道哪裡來的勇氣,相信自己能跑馬拉松)
Thumbnail
2024/12/29
上個月還在職的時候,公司有提供一些名額給員工報名參加這次的台北葡萄酒馬拉松。雖然我自己並沒特別喜歡喝紅酒,不過既然有免費的機會,當然是要去看看了!(不知道哪裡來的勇氣,相信自己能跑馬拉松)
Thumbnail
看更多
你可能也想看
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
久違的使用 WSL,發現現在進步很多,但有個地方一直設定不好,就是本文今天的主角──PhpStrom 中的 PHP_Codesniffer。好在皇天不負苦心人,最後總算搞定了,所以寫一篇筆記記錄。
Thumbnail
久違的使用 WSL,發現現在進步很多,但有個地方一直設定不好,就是本文今天的主角──PhpStrom 中的 PHP_Codesniffer。好在皇天不負苦心人,最後總算搞定了,所以寫一篇筆記記錄。
Thumbnail
本文將介紹一些在 PHP 開發過程中實用的工具和技巧,涵蓋 PHP 分析器 xhprof、PHP 沙盒、PHP_CodeSniffer、PHPDoc 註解及靜態分析工具 PHPStan 等。這些工具能夠幫助開發者提高效率、減少錯誤,並改善程式碼的可讀性。
Thumbnail
本文將介紹一些在 PHP 開發過程中實用的工具和技巧,涵蓋 PHP 分析器 xhprof、PHP 沙盒、PHP_CodeSniffer、PHPDoc 註解及靜態分析工具 PHPStan 等。這些工具能夠幫助開發者提高效率、減少錯誤,並改善程式碼的可讀性。
Thumbnail
本章節旨在介紹如何在不同操作系統上安裝和配置PHP環境,並使用命令行工具進行基礎操作。此外,還介紹了使用Visual Studio Code進行PHP開發的步驟,包括安裝擴展和設置調試環境。
Thumbnail
本章節旨在介紹如何在不同操作系統上安裝和配置PHP環境,並使用命令行工具進行基礎操作。此外,還介紹了使用Visual Studio Code進行PHP開發的步驟,包括安裝擴展和設置調試環境。
Thumbnail
這個章節介紹了PHP的基本特性和應用領域,並且列舉了使用PHP的知名公司和網站。了解PHP的簡單易學、跨平台、嵌入HTML等特性,以及PHP在動態網站、電子商務、內容管理系統、社交媒體平台、數據庫管理和API開發中的應用。
Thumbnail
這個章節介紹了PHP的基本特性和應用領域,並且列舉了使用PHP的知名公司和網站。了解PHP的簡單易學、跨平台、嵌入HTML等特性,以及PHP在動態網站、電子商務、內容管理系統、社交媒體平台、數據庫管理和API開發中的應用。
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
戴夫寇爾研究團隊發現PHP在Windows系統上存在遠端程式碼執行漏洞,影響多個PHP版本,包括XAMPP預設安裝環境。漏洞源於字元編碼轉換的問題,允許攻擊者在遠端伺服器上執行任意程式碼。建議使用者立即升級至最新PHP版本,或採取臨時緩解措施。
Thumbnail
戴夫寇爾研究團隊發現PHP在Windows系統上存在遠端程式碼執行漏洞,影響多個PHP版本,包括XAMPP預設安裝環境。漏洞源於字元編碼轉換的問題,允許攻擊者在遠端伺服器上執行任意程式碼。建議使用者立即升級至最新PHP版本,或採取臨時緩解措施。
Thumbnail
放鬆的週末,我與幾位同事決定提升我們的後端開發技巧,選擇了「日期範圍生成器」作為我們的小型實作。作為團隊中較有經驗的PHP工程師,我引領著團隊從基礎程式碼的撰寫開始,進而深入到物件導向的結構調整,最後提高程式可擴充性的挑戰。雖然過程中遇到不少困難,但我們通過不斷的討論和優化,最終成功克服了所有挑戰。
Thumbnail
放鬆的週末,我與幾位同事決定提升我們的後端開發技巧,選擇了「日期範圍生成器」作為我們的小型實作。作為團隊中較有經驗的PHP工程師,我引領著團隊從基礎程式碼的撰寫開始,進而深入到物件導向的結構調整,最後提高程式可擴充性的挑戰。雖然過程中遇到不少困難,但我們通過不斷的討論和優化,最終成功克服了所有挑戰。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News