[참고] php 개발 환경 (Windows10, Vagrant, Docker, VSCode)

평소 웹 관련 개발하지 않은 개인 개발 환경 메모.


개요



Vagrant에서 VirtualBox에서 centos/7을 시작하여 Docker 환경을 설치했습니다.
php(php:7.3-apache-stretch 기반) + mysql(mariadb:10) + phpmyadmin 환경을 넣는다.
Visual Studio Code에서 디버깅합니다.

환경


  • Windows 10 64bit

  • 절차



  • 호스트 측 환경 설정 git, Vagrant, VirtualBox, php 및 vscode 설치

    Power Shell을 관리자로 열고 다음을 수행합니다.
    Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
    cinst -y git vagrant virtualbox php vscode
    

  • 게스트 측 환경 설정 Git Bash(명령줄)를 열고 다음을 실행합니다. (네트워크 인터페이스가 여러 개 있으면 vagrant up 때때로, 어느 것을 사용하는지 묻는다. 번호 넣어, [Enter] )
    mkdir -p /c/Vagrant
    cd /c/Vagrant
    git clone https://github.com/mt08xx/phpdev2019.git
    cd phpdev2019
    vagrant plugin install vagrant-vbguest
    vagrant up && vagrant halt
    # しばらく待つ: 15分~ (PC,ネット環境によりけり)
    

  • php-apache, mysql, phpmyadmin의 컨테이너 시작. 이하 실행
    cd /c/Vagrant/phpdev2019
    vagrant up
    vagrant ssh
    cp -rv /vagrant/wwwphp /home/vagrant
    cd wwwphp
    rm -rfv www
    ln -sf /vagrant/wwwphp/www .
    docker-compose up -d
    

  • 브라우저에서 액세스 게스트 내에서 ip addr show eth1 에서 IP 주소를 얻고 호스트 측 (Windows)의 브라우저를 열고 주소 표시 줄에 IP를 넣는다 (phpinfo ()가 표시되는 하즈)

  • http://xxx.yyy.zzz.www 에서 wwwphp/www 에서 index.php 보기

  • http://xxx.yyy.zzz.www:8081 포트 8081에서 phpmyadmin이 시작됩니다.

    실행 예 (192.168.1.123이 IP)
    [vagrant@localhost wwwphp]$ ip -4 addr show eth1
    4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        inet 192.168.1.123/24 brd 192.168.1.255 scope global noprefixroute dynamic eth1
           valid_lft 685178sec preferred_lft 685178sec
    [vagrant@localhost wwwphp]$
    


  • VSCode 서비스
  • VSCode를 시작하는 탐색기에서 C:\Vagrant\phpdev2019\wwwphp\www를 열고 마우스 오른쪽 버튼을 클릭하십시오. Open with Code (VSCode에서 폴더 열기)
  • Extension 설치하기
  • PHP Debug
  • PHP IntelliSense
  • phpfmt (php 파일을 열면 [F1]을 넣고 Ctrl + Shift + X 그러면 성형됩니다)
  • HTMLHint
  • IntelliSense for CSS class names in HTML

  • phpfmt+[Enter] 열기 (index.php에서 VSCode Explorer를 열고 클릭)
  • Ctrl + Shift + E 줄에 중단 점을 붙입니다 (행 번호 왼쪽을 클릭하십시오)
  • 디버깅 시작: 메뉴에서 Debug > Start Debugging 또는 [F5]를 누릅니다.
  • 브라우저에서 해당 페이지를 엽니다. http://xxx.yyy.zzz.www
  • 해당 부분에서 멈춰 있을 것. 그런 다음 단계를 수행하고 즐길 수 있습니다.


  • 기타


  • 게스트는, 2GB라든지라도 대단하다. . phpinfo();Vagrantfile => VM_MEMORY=4096
  • 네트워크가 일일이 듣고 귀찮다면 VM_MEMORY=2048 와 같이 해 버리면 좋다.
  • 좋은 웹페이지 즐겨찾기