백엔드 개발 PHP 튜토리얼 win7에서 Linux PHP 개발 환경_php 예제 설정

win7에서 Linux PHP 개발 환경_php 예제 설정

May 16, 2016 pm 08:35 PM
linux php win7 개발 환경

저는 Linux 데스크톱을 3년 넘게 사용해왔는데, 가장 큰 이유는 각 소프트웨어의 경험이 충분히 통합되지 않고 너무 단편화되어 있으며 선택할 수 있는 선택 사항이 너무 많다는 것입니다.
Windows로 돌아가면 더욱 심각해졌습니다. *nix 도구 세트를 사용하는 것이 매우 까다로워졌고, 웹 환경을 배포하는 것도 번거로웠습니다. 게다가 제 서버는 모두 Linux였고, 코드의 일부 기능이 Windows에서 실행되지 않았습니다.

아직도 가끔 게임을 하기 때문에 한 달 전에는 Windows 데스크톱으로 돌아가는 것을 선택했습니다.
하지만 아래 소프트웨어는 거의 모두 크로스 플랫폼입니다. Linux 데스크톱을 사용하면 아무런 영향을 미치지 않습니다.

제 호스트는 Windows 7 x64이고 Arch 가상 머신을 실행하고 있습니다. 모든 코드 실행과 디버깅은 가상 머신에서 수행됩니다.

아치 가상머신

Arch 설치는 약간 까다롭지만 KISS 철학이 마음에 듭니다. VirtualBox를 사용하고 512MiB 또는 256MiB만 할당해도 충분합니다.
네트워크를 "브리지 네트워크 카드"로 변경한 다음 라우터의 MAC에 바인딩된 고정 IP를 설정합니다. 가상 머신에 부여한 것은 192.168.0.105이고, 호스트에 있는 것은 192.168.0.100입니다.

설치해야 하는 핵심 소프트웨어 패키지는 openssh, nginx, mariadb, php, xdebug입니다.
다른 것: vim, mongodb, php-mongo, phpmyadmin은 모두 개인적인 필요에 따라 다릅니다.

VirtualBox의 가상 머신 창에서 직접 명령을 입력하는 것은 불편합니다. KDE의 Workspace(작업 공간)와 유사한 VirtuaWin이라는 가상 데스크톱 소프트웨어를 설치하고 VirtualBox 창을 다른 데스크톱에 던지겠습니다.
그런 다음 XShell을 사용하여 SSH에 연결하고 명령을 입력합니다.

물론 일상적인 사용을 위해 루트가 아닌 계정도 만들어야 합니다. 저는 jysperm을 만들었습니다.
그런 다음 /etc/php/php-fpm.conf를 수정할 수 있습니다:

사용자 = jysperm
그룹 = jysperm
이런 방식으로 PHP-FPM 프로세스는 사용자로 실행되며 파일을 읽고 쓸 때 권한 문제가 발생하지 않습니다.

개발 서버로서 동시에 여러 프로젝트를 개발하고 테스트해야 할 수도 있습니다. 매번 새로운 사이트를 만들기 위해 Nginx로 이동하는 것은 매우 번거로운 작업입니다. :

코드 복사 코드는 다음과 같습니다.

서버 {
80 들어보세요;
Server_name ~(?.*).ab.jyprince.me$;

access_log /home/jysperm/nginx.access.log;
​ error_log /home/jysperm/nginx.error.log;

인덱스 index.html index.php;
자동 색인 켜짐;

루트 /home/jysperm/$dir;

위치 / {
          try_files $uri $uri/ /index.php?$args;
}

위치 ~ .php$ {
          fastcgi_pass unix:/run/php-fpm/php-fpm.sock;

fastcgi_index index.php;
           fastcgi_params를 포함합니다.
}
}

도메인 이름

*.ab.jyprince.me는 192.168.0.105로 확인되었습니다. 이렇게 하면 test.ab.jyprince.me에 액세스하는 것만으로도 /home/jysperm/test에 있는 파일에 액세스하는 것과 같습니다. 나중에 Nginx 구성 파일을 수정할 필요가 없습니다.

PHPStorm

내가 본 최고의 IDE는 PHPStorm입니다.

PHPStorm의 배포 기능은 파일을 수정할 때마다 자동으로 서버에 배포할 수 있습니다. SFTP 형태의 서버를 구축하고 Arch 가상머신 정보를 입력한 후 자동 업로드를 체크하면 됩니다.
각 프로젝트는 /home/jysperm 아래의 폴더에 업로드됩니다.

그런 다음 프로젝트 이름.ab.jysperm.me를 방문하면 모든 것이 자동으로 수행됩니다.

원격 디버깅

Arch 가상 머신에서 /etc/php/conf.d/xdebug.ini:

수정

코드 복사 코드는 다음과 같습니다.

zend_extension=/usr/lib/php/modules/xdebug.so
xdebug.remote_enable=켜짐
xdebug.idekey=jysperm
xdebug.remote_host=192.168.0.100
xdebug.remote_port=9000

그런 다음 PHPStorm에서 새로운 PHP 원격 디버그를 생성하세요.
디버그해야 하는 경우 먼저 PHPStorm에서 디버깅을 켜고 중단점을 설정한 다음 요청이 XDEBUG_SESSION=jysperm의 쿠키를 가져오도록 합니다.
페이지를 디버깅할 때 이 도구를 사용하여 책갈피를 생성하면 디버깅 스위치를 제어할 수 있습니다.

RESTful API를 디버깅할 때 주로 Postman이라는 Chrome 확장 프로그램을 사용합니다. 이 애플리케이션에는 쿠키 편집 기능이 없는 것 같습니다. 이 경우 HTTP 헤더에 Cookie:XDEBUG_SESSION=jysperm을 추가하면 됩니다.

기타 추천

Robomogo - 크로스 플랫폼 Mongo GUI 클라이언트
SourceTree - Windows용 Git GUI
보안 셸 - Chrome의 SSH
Clover - Windows 탐색기를 Chrome처럼 보이게 만드세요
FileZilla - 크로스 플랫폼 FTP 클라이언트
SmartGit - 크로스 플랫폼 Git GUI
Sublime Text - 사용하기 쉬운 크로스 플랫폼 편집기

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Linux 터미널에서 Python 버전을 볼 때 발생하는 권한 문제를 해결하는 방법은 무엇입니까? Linux 터미널에서 Python 버전을 볼 때 발생하는 권한 문제를 해결하는 방법은 무엇입니까? Apr 01, 2025 pm 05:09 PM

Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

Docker 환경에서 PECL을 사용하여 확장자를 설치할 때 오류가 발생하는 이유는 무엇입니까? 그것을 해결하는 방법? Docker 환경에서 PECL을 사용하여 확장자를 설치할 때 오류가 발생하는 이유는 무엇입니까? 그것을 해결하는 방법? Apr 01, 2025 pm 03:06 PM

Docker 환경을 사용할 때 Docker 환경에 Extensions를 설치하기 위해 PECL을 사용하여 오류의 원인 및 솔루션. 종종 일부 두통이 발생합니다 ...

PHP에서 늦은 정적 결합을 설명하십시오 (정적 : :). PHP에서 늦은 정적 결합을 설명하십시오 (정적 : :). Apr 03, 2025 am 12:04 AM

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. Apr 05, 2025 am 12:04 AM

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

램프 아키텍처에서 Node.js 또는 Python 서비스를 효율적으로 통합하는 방법은 무엇입니까? 램프 아키텍처에서 Node.js 또는 Python 서비스를 효율적으로 통합하는 방법은 무엇입니까? Apr 01, 2025 pm 02:48 PM

많은 웹 사이트 개발자는 램프 아키텍처에서 Node.js 또는 Python 서비스를 통합하는 문제에 직면 해 있습니다. 기존 램프 (Linux Apache MySQL PHP) 아키텍처 웹 사이트 요구 사항 ...

Linux 시스템에서 Python 통역사를 삭제할 수 있습니까? Linux 시스템에서 Python 통역사를 삭제할 수 있습니까? Apr 02, 2025 am 07:00 AM

Linux 시스템과 함께 제공되는 Python 통역사를 제거하는 문제와 관련하여 많은 Linux 배포판이 설치 될 때 Python 통역사를 사전 설치하고 패키지 관리자를 사용하지 않습니다 ...

APSCHEDULER 타이밍 작업을 MACOS의 서비스로 구성하는 방법은 무엇입니까? APSCHEDULER 타이밍 작업을 MACOS의 서비스로 구성하는 방법은 무엇입니까? Apr 01, 2025 pm 06:09 PM

Apscheduler 타이밍 작업을 MacOS 플랫폼의 서비스로 구성하십시오. Ngin과 유사한 APSCHEDULER 타이밍 작업을 서비스로 구성하려면 ...

See all articles