Di bawah potongan adalah catatan kecil tentang bagaimana Anda dapat mengatur lingkungan yang nyaman untuk bekerja dengan PHP, xdebug melalui Windows Subsystem For Linux 2 (WSL 2).

Pertama, sedikit sejarah
Saya telah hidup di dunia Ubuntu untuk waktu yang sangat lama - menulis di PHP, NodeJS, GoLang langsung di sistem yang sama di mana semuanya akan berjalan sangat menyenangkan. Namun, sayangnya, memiliki posisi manajerial mengarah pada fakta bahwa Anda harus menggunakan banyak perangkat lunak yang hanya berfungsi di Windows.
" SSH". PhpStorm, ssh Ubuntu — .
— :) 100500 Phpstorm dell e7390:) , sftp.
WSL2 (http://habr.com/ru/news/t/516054) .
WSL Windows . Microsoft
PowerShell wsl Linux, Windows

Ubuntu:
sudo apt update
sudo apt upgrade
sudo apt install apache2
sudo apt install php libapache2-mod-php php-mysql php-xml php-curl
sudo a2enmod rewrite
/mnt/d/work/projects/__. , , Linux, . , , .
( ), , php Linux, NTFS . .
- WSL .
/home/user/projects - ( GIT).
/home/user/projects/test -
\\wsl$\Ubuntu"Ubuntu" — .\\wsl$

- PhpStorm

- ( , xdebug)

- Automatic upload

- WSL
— . = . . , rsync , . , — :)
Apache, . , , php-fpm nginx — .
xdebug
xdebug . .
xdebug
sudo apt-get php-xdebug
sudo nano /etc/php/7.2/mods-available/xdebug.ini
zend_extension=xdebug.so xdebug.remote_enable=true xdebug.remote_host=wsl.host xdebug.remote_port=9002 xdebug.profiler_enable=1 xdebug.profiler_output_dir=/tmp xdebug.remote_autostart=on xdebug.idekey=PHPSTORM xdebug.remote_log=/tmp/xdebug.log
apache
sudo service apache2 restart
xdebug . /etc/hosts wsl.host. IP , windows.
, , xdebug.remote_host=127.0.0.1, WSL , 127.0.0.1 linux linux, windows. , PhpStorm :)
-
github C# , Windows . , - Windows .
"" bash , IP /etc/hosts linux WSL — github.
. " ", systemd rc.local wsl . , .
wsl , /etc/hosts wsl.host linux windows. - , .
wsl , — cat /etc/hosts - :
172.26.64.1 wsl.host
xdebug PhpStorm Windows
WSL PhpStorm
File->Settings->Languages & Framework->PHP
"From Docker, Vagrant, VM, WSL, Remote"
WSL
, xdebug

File->Settings->Languages & Framework->PHP->Debug
, WSL ( 9002, 9000)
advanced "Pass required configuration options.."

, — wsl.host 127.0.0.1 .
, .. HTTP ini .
— .
- breakpoint index.php
- ,
-
Php Script

,

Jadi, setelah memilah-milah beberapa sumber, artikel, inti yang berbeda, saya sampai pada lingkungan kerja yang "hampir ideal" saat bekerja dengan PHP. Jika ada sesuatu yang bisa diperbaiki / diperbaiki, tulis di komentar atau dengan cara lain untuk menghubungi saya .