Debajo del corte hay una pequeña nota sobre cómo puede configurar un entorno conveniente para trabajar con PHP, xdebug a través del Subsistema de Windows para Linux 2 (WSL 2).
Primero, un poco de historia
He vivido en el mundo de Ubuntu durante mucho tiempo: escribir en PHP, NodeJS, GoLang de inmediato en el mismo sistema en el que se ejecutará todo es extremadamente agradable. Pero, desafortunadamente, tener un puesto directivo lleva al hecho de que tienes que usar una gran cantidad de software que solo funciona en 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
,
Por lo tanto, después de haber examinado varias fuentes, artículos y esencias diferentes, llegué a un entorno de trabajo "casi ideal" al trabajar con PHP. Si hay algo que se pueda mejorar / mejorar, escribe en los comentarios o de cualquier otra forma de contactarme .