Abaixo do corte está uma pequena nota sobre como você pode configurar um ambiente conveniente para trabalhar com PHP, xdebug via Windows Subsystem For Linux 2 (WSL 2).
Primeiro, um pouco de história
Eu vivi no mundo do Ubuntu por muito tempo - escrever em PHP, NodeJS, GoLang imediatamente no mesmo sistema em que tudo vai rodar é extremamente agradável. Mas, infelizmente, ter uma posição gerencial leva a que você tenha que usar muitos softwares que só funcionam no 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 :)
, gif- .
-
github C# , Windows . , - Windows .
"" bash , IP /etc/hosts
linux WSL — github.
. " ", systemd rc.local wsl . , .
-
/startup.sh
,chmod +x /startup.sh
- sudo (
/etc/hosts
) -
sudo /startup.sh
/etc/profile
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
,
Assim, depois de vasculhar várias fontes, artigos e pontos essenciais, cheguei a um ambiente de trabalho "quase ideal" ao trabalhar com PHP. Se houver algo que possa ser melhorado / melhorado, escreva nos comentários ou de qualquer outra forma de contato .