Sous la coupe se trouve une petite note sur la façon dont vous pouvez configurer un environnement pratique pour travailler avec PHP, xdebug via le sous-système Windows pour Linux 2 (WSL 2).
Tout d'abord, un peu d'histoire
Je vis dans le monde d'Ubuntu depuis très longtemps - écrire en PHP, NodeJS, GoLang tout de suite sur le même système sur lequel tout fonctionnera est extrêmement agréable. Mais, malheureusement, avoir un poste de direction conduit au fait que vous devez utiliser beaucoup de logiciels qui ne fonctionnent que sous 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
,
Ainsi, après avoir passé au crible plusieurs sources, articles, points essentiels, je suis arrivé à un environnement de travail "presque idéal" lorsque je travaille avec PHP. S'il y a quelque chose qui peut être amélioré / amélioré, écrivez dans les commentaires ou par tout autre moyen de me contacter .