Xdebug melalui Subsistem Windows Untuk Linux 2 (WSL2)

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 . .



  1. WSL . /home/user/projects
  2. ( GIT). /home/user/projects/test
  3. \\wsl$\Ubuntu "Ubuntu" — . \\wsl$

  4. PhpStorm

  5. ( , xdebug)

  6. Automatic upload

  7. WSL


— . = . . , rsync , . , — :)



Apache, . , , php-fpm nginx — .



xdebug



xdebug . .



  1. xdebug sudo apt-get php-xdebug



  2. 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


  3. 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 . , .



  1. /startup.sh , chmod +x /startup.sh
  2. sudo ( /etc/hosts )
  3. 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



  1. File->Settings->Languages & Framework->PHP









    "From Docker, Vagrant, VM, WSL, Remote"







    WSL







    , xdebug





  2. File->Settings->Languages & Framework->PHP->Debug

    , WSL ( 9002, 9000)















    advanced "Pass required configuration options.."







, — wsl.host 127.0.0.1 .



, .. HTTP ini .



— .





  1. breakpoint index.php
  2. ,















  3. 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 .




All Articles