利用WSL 2的力量來(lái)實(shí)現(xiàn)Linux-intagity PHP開發(fā)工作流程
Jul 26, 2025 am 09:40 AMWSL 2是Windows上嚴(yán)重PHP開發(fā)的新標(biāo)準(zhǔn)。 1。使用WSL安裝WSL 2安裝WSL 2,然后使用SUDO APT UPDATE && SUDO APT升級(jí)-Y進(jìn)行更新,將項(xiàng)目保存在Linux文件系統(tǒng)中,以獲得最佳性能。 2。通過(guò)OndêejSury的PPA和全球作曲家設(shè)置安裝PHP 8.3和作曲家,以確保生產(chǎn)般的一致性。 3。通過(guò)安裝nginx,在/etc/etc/nginx/stite-ovailable中配置網(wǎng)站,使用nginx和php-fpm使用,以符號(hào)鏈接啟用它,然后重新啟動(dòng)nginx以實(shí)現(xiàn)真實(shí)的環(huán)境平等。 4。在WSL中安裝MySQL,將其固定,創(chuàng)建數(shù)據(jù)庫(kù),然后使用DB_HOST = 127.0.0.1 in .ENV連接以強(qiáng)制執(zhí)行TCP連接,并從TablePlus(例如TablePlus)通過(guò)Local -Host訪問(wèn)LocalHost:3306。 5。借助WSL 2的自動(dòng)端口轉(zhuǎn)發(fā),可以從http:// localhost的Windows瀏覽器訪問(wèn)該站點(diǎn),如果需要,請(qǐng)驗(yàn)證NGINX狀態(tài)。 6。使用遠(yuǎn)程-WSL擴(kuò)展名與VS代碼集成,直接在Linux中打開項(xiàng)目,從而啟用完整的Intellisense,Linux終端,Git和無(wú)縫XDEBUG集成。 7。使用curl -fssl https://get.docker.com | | s,將用戶添加到Docker組,并運(yùn)行可從WSL和Windows訪問(wèn)的容器。該設(shè)置提供了Linux-native PHP開發(fā)經(jīng)驗(yàn),從開發(fā)到生產(chǎn)的完整工具集成和環(huán)境一致性。
在Windows上運(yùn)行PHP開發(fā)環(huán)境,用于與從未完全感到“本地”的Xampp,Wamp或Docker設(shè)置搏斗。但是,使用WSL 2(用于Linux 2的Windows子系統(tǒng)) ,這一切都改變了。現(xiàn)在,您可以直接在Windows上運(yùn)行真正的Linux環(huán)境,并在SystemD支持,完整的bash訪問(wèn)和無(wú)縫文件系統(tǒng)互操作性的情況下進(jìn)行整理 - 將其作為現(xiàn)代,Linux-nux-nux-nix-nix-antive PHP工作流程的理想平臺(tái)。

這是利用WSL 2建立快速,可靠和類似生產(chǎn)的PHP開發(fā)設(shè)置的方法。
?1。與開發(fā)人員友好的發(fā)行版設(shè)置WSL 2
首先安裝WSL 2如果還沒有:

WSL-安裝
此命令默認(rèn)情況下安裝Ubuntu(建議),但是您可以選擇諸如Debian或Alpine之類的其他人。
安裝后,更新系統(tǒng):

sudo apt更新&& sudo apt升級(jí)-y
為什么Ubuntu?它具有出色的PHP軟件包支持,主動(dòng)的社區(qū)幫助以及諸如add-apt-repository
的工具,使添加第三方存儲(chǔ)庫(kù)(例如OndD還Sury的PHP PPA)變得輕而易舉。
?專家提示:將項(xiàng)目文件保留在Linux文件系統(tǒng)(
/home/youruser/projects
)中,而不是/mnt/c/
以提高性能,尤其是在作曲家和文件觀察者中。
?2。在Linux中安裝PHP,作曲家和密鑰擴(kuò)展
現(xiàn)在,直接在WSL環(huán)境中安裝PHP。使用受信任的OndD還SuryPPA進(jìn)行最新版本:
sudo附加功能重復(fù)PPA:ONDREJ/PHP sudo apt更新 sudo apt安裝php8.3-cli php8.3-fpm php8.3-mysql php8.3-sqlite php8.3-mbstring php8.3-xml
然后在全球安裝作曲家:
curl -ss https://getcomposer.org/installer | php sudo mv composer.phar/usr/local/bin/bin/composer
現(xiàn)在,您正在運(yùn)行與大多數(shù)基于Linux的生產(chǎn)服務(wù)器上使用的相同的PHP二進(jìn)制文件 - 由于Windows特定的路徑或擴(kuò)展怪癖而導(dǎo)致的“它在我的計(jì)算機(jī)上工作”問(wèn)題都沒有。
?獎(jiǎng)勵(lì):運(yùn)行
php -m
以查看所有已加載的模塊。將此與您的登臺(tái)/生產(chǎn)服務(wù)器進(jìn)行比較以保持一致性。
?3。在本地使用Real Linux Web服務(wù)器(NGINX PHP-FPM)
對(duì)于真正的環(huán)境奇偶校驗(yàn),避免使用NGINX PHP-FPM的內(nèi)置PHP服務(wù)器( php -S
),就像大多數(shù)生產(chǎn)Laravel或Symfony應(yīng)用一樣。
安裝nginx:
sudo apt install nginx
在/etc/nginx/sites-available/myapp
創(chuàng)建基本網(wǎng)站配置:
服務(wù)器 { 聽80; root/var/www/myapp/public; 索引index.php; 地點(diǎn) / { try_files $ uri $ uri / / index.php?jquery_string; } 位置?\ .php $ { fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; fastcgi_index index.php; fastcgi_param script_filename $ document_root $ fastcgi_script_name; 包括fastcgi_params; } }
啟用它:
sudo ln -s/etc/nginx/stites-abailable/myapp/etc/nginx/sites-nginx/sites-enabled/ sudo nginx -t && sudo systemctl restart nginx
現(xiàn)在,您的應(yīng)用程序與生產(chǎn)相同的堆棧下運(yùn)行 - 盡早進(jìn)行錯(cuò)誤配置。
?4。連接到WSL中運(yùn)行的MySQL/PostgreSQL
直接在WSL中安裝MySQL(或PostgreSQL):
sudo apt安裝mysql-server sudo mysql_secure_installation
保護(hù)它,創(chuàng)建數(shù)據(jù)庫(kù),然后更新您的.env
文件:
db_connection = mysql db_host = 127.0.0.1 db_port = 3306 db_database = myApp db_username = root db_password =
注意:使用127.0.0.1
而不是localhost
來(lái)強(qiáng)制TCP而不是套接字連接(在WSL中可以挑剔)。
您還可以通過(guò)連接到localhost:3306
來(lái)使用TablePlus或MySQL Workbench之類的工具,直接轉(zhuǎn)發(fā)到WSL 2中。
?5。從Windows瀏覽器訪問(wèn)您的網(wǎng)站
默認(rèn)情況下,nginx在WSL中的端口80上聽。多虧了WSL 2的自動(dòng)端口代理,您可以從Windows訪問(wèn)您的應(yīng)用:
http:// localhost
無(wú)需額外的配置! WSL 2在Windows和Linux VM之間自動(dòng)轉(zhuǎn)發(fā)端口。
??如果它不起作用,請(qǐng)確保運(yùn)行nginx:
sudo服務(wù)nginx狀態(tài)
?6。與VS代碼集成(一流的WSL支持)
安裝Visual Studio代碼和遠(yuǎn)程-WSL擴(kuò)展名。
然后,從您的WSL終端:
代碼/var/www/myapp
這將打開直接連接到Linux環(huán)境的VS代碼。你得到:
- 使用Linux路徑完整的Intellisense
- 在WSL中運(yùn)行的終端
- 由Linux提供動(dòng)力的GIT(不再有CRLF頭痛)
- Xdebug無(wú)縫工作
直接設(shè)置Xdebug和Debug PHP請(qǐng)求的啟動(dòng)。就像本機(jī)Linux Dev一樣。
?7??蛇x:添加Docker(Linux版本)額外服務(wù)
需要Redis,MailHog還是Elasticsearch?通過(guò)WSL 2中的Docker運(yùn)行它們,而不是Docker Desktop的Windows引擎。
在Ubuntu安裝Docker:
curl -fssl https://get.docker.com | sh sudo usermod -ag docker $用戶
注銷然后返回,然后運(yùn)行:
Docker Run -D -P 6379:6379 Redis
現(xiàn)在,REDIS可從WSL和Windows提供127.0.0.1:6379
。
?好處:所有容器都在Linux上運(yùn)行,因此沒有兼容性層或性能命中。
最后的想法
WSL 2橋接Windows便利性和Linux開發(fā)真實(shí)性之間的差距。有了它,你得到了:
- 真正的Linux內(nèi)核和過(guò)程模型
- 本地PHP,擴(kuò)展和服務(wù)
- 與Windows工具無(wú)縫集成
- 從開發(fā)到產(chǎn)品的環(huán)境一致性
您不再“使用Linux工具在Windows上開發(fā)”,而是在Linux中開發(fā),Windows作為桌面伴侶。
設(shè)置一次,您會(huì)想知道沒有它就如何管理。
基本上,如果您在Windows上做認(rèn)真的PHP工作,WSL 2不僅可以擁有,這是新標(biāo)準(zhǔn)。
以上是利用WSL 2的力量來(lái)實(shí)現(xiàn)Linux-intagity PHP開發(fā)工作流程的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)

NginxhandlesstaticfilesandroutesdynamicrequeststoPHP-FPM,whichprocessesPHPscriptsviaFastCGI;2.OptimizePHP-FPMbyusingUnixsockets,settingpm=dynamicwithappropriatemax_children,spareservers,andmax_requeststobalanceperformanceandmemory;3.ConfigureNginxwit

推薦使用Homebrew安裝PHP,運(yùn)行/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"安裝Homebrew,再執(zhí)行brewinstallphp或指定版本如brewinstallphp@8.1;安裝后編輯對(duì)應(yīng)路徑的php.ini文件調(diào)整memory_limit、upload_max_filesize、post_max_size和display_

wsl2isthenewstanceforseriousphpdevelopmentonwindows.1.installwsl2withubuntuingusingwsl-install,thenupdatewithsudoaptupdat E && sudoaptupgrade-y,keepprojectsinthelinuxfilesystemforoptimalperformance.2.installphp8.3andComposerviaondEjsurysppa

LaunchanEC2instancewithAmazonLinux,appropriateinstancetype,securesecuritygroup,andkeypair.2.InstallLAMPstackbyupdatingpackages,installingApache,MariaDB,PHP,startingservices,securingMySQL,andtestingPHP.3.DecouplecomponentsbymovingdatabasetoRDS,storing

匯編phomerceisnotn coresemencomeformostprojectsbutprovidesfuidsfuidsfudsfiidesfulstrolcontrolforperperance,minimalbloat,andspecificoptimization.2.itinvolvesConvertingPhpphpphp'scsourcececececececeodeintoIntoExecutables,允許customizationLikizationLikeStripingunusedunsuptipingunseftimpipingunseftimpippingunsippingsextensenions enablingCpuspucpu

ChooseaCI/CDplatformlikeGitHubActionsorGitLabCIfortightversioncontrolintegrationandminimalinfrastructure;2.DefineaconsistentPHPenvironmentusingcontainerizationwithimageslikephp:8.2-cliorcomposer:latestandinstalldependenciesviacomposerinstall--no-inte

OPcache和JIT是PHP8.0 性能優(yōu)化的核心工具,正確配置可顯著提升執(zhí)行效率;1.啟用OPcache并設(shè)置opcache.enable=1、opcache.memory_consumption=192、opcache.max_accelerated_files=20000、opcache.validate_timestamps=0以實(shí)現(xiàn)opcode緩存并減少解析開銷;2.配置JIT通過(guò)opcache.jit_buffer_size=256M和opcache.jit=1254啟用追蹤JIT

verifySystemRequirements and dipendenciesbyConfirmingoScompatiby andInstallingSenlingEssentialLibrariesandBuildTools,使用PackageManagerSlikeSlikeAptoryUmTosImplifyDependentyDependentymanagement.2.Checkphpphpphpphpphpphpphpconfigurationand and conconfigurationAndCompConfigurationAndCompilationErrateRrationRuntirNumentByRunningMinimal./confictecomma
