> 백엔드 개발 > PHP 튜토리얼 > PHP 응용 프로그램 환경

PHP 응용 프로그램 환경

William Shakespeare
풀어 주다: 2025-02-15 12:43:12
원래의
355명이 탐색했습니다.

The PHP Application Environment

이 기사는 최근에 발표 된 책 "Jump Start PHP Environment"에서 발췌 한 것으로, itepoint 프리미엄 회원이 무료로 제공합니다. 종이 버전과 전자 책은 전 세계 주요 서점에서 구입할 수 있으며 여기에서 주문할 수도 있습니다. 이 발췌문을 즐기고 유용하다는 것을 알았기를 바랍니다. The PHP Application Environment 우리는 응용 프로그램 환경에 중점을 둘 것입니다. 우리는 또한 XAMPP와 같은 앰프 번들과 왜 생산/개발 일관성 및 디버깅을 논의 할 것입니다.

키 포인트

애플리케이션 환경 이해 : PHP 응용 프로그램 환경은 개발, 생산 및 사전 릴리스를 포함한 다양한 단계로 구성되며 각 단계는 응용 프로그램의 수명주기에 중요합니다.

*앰프 번들의 트레일 : XAMPP와 같은 패키지는 편리하지만 학습을 방해하고 청소하고 유지하기 어려운 혼란스러운 개발 환경을 유발할 수 있습니다.

생산 및 개발 일관성 : 개발 및 생산 환경 간의 일관성을 유지하는 것은 배포 문제를 최소화하고 두 플랫폼 모두에서 일관된 동작을 보장하는 데 중요합니다.

성능 최적화 및 디버깅 : 효과적인 성능 최적화에는 데이터베이스 튜닝, 프론트 엔드 튜닝 및 백엔드 최적화를 포함한 여러 레벨이 포함되며 디버깅은 운영 효율성을 유지하는 데 중요합니다.
    로컬 테스트 용 가상 호스트 : 가상 호스트를 사용하면 개발자가 로컬 컴퓨터의 실시간 환경을 시뮬레이션 할 수 있으므로 인터넷에 배포하지 않고 쉽게 테스트하고 개발할 수 있습니다.
  • 가상 머신의 중요성 : 가상 머신은 개발 및 생산 환경 간의 일관성을 달성하여 개발자가 다른 시스템에서 동일한 설정을 실행하여 개발 프로세스를 단순화 할 수 있도록 도와줍니다.
  • 애플리케이션 환경 애플리케이션 환경은 생산 환경, 개발 환경 및 사전 방출 환경 인 수명주기의 다양한 단계에서 응용 프로그램이 존재할 수있는 환경을 말합니다.
  • 환경이라는 용어는 응용 프로그램 주변의 하드웨어 및 소프트웨어를 말합니다.
  • 생산 환경 우리는 가장 간단한 환경 인 생산 환경부터 시작합니다.
  • 즉, 응용 프로그램을 배포 할 때 (즉, 서버에 업로드하고 대상 고객이 공개적으로 액세스 할 수 있도록하십시오.

. 생산 환경은 응용 프로그램의 궁극적 인 대상이자 코드의 목적입니다. 애플리케이션의 수명주기에서 프로덕션 환경은 실시간 서버입니다.이 서버 컴퓨터는 다른 설정으로 다른 사람들이 연결하여 웹 사이트를 볼 수 있습니다. 이 라이브 서버는 가능한 한 효율적으로 애플리케이션을 제공하도록 구성됩니다. 개발 프로세스 중에 사용하는 모든 추가 파일은 컴파일 또는 빌드라는 프로세스를 통해 응용 프로그램에서 제거되며 나중에 더 설명됩니다. 프로덕션 환경에서 귀하의 웹 사이트는 실시간 (또는 배포)으로 간주되며 자체 도메인 이름을 통해 액세스 할 수 있습니다 >.

이것은 식당에서 요리하고 음식을 주문한 고객에게 제공하는 요리사와 동일합니다. 개발 환경 개발 환경에서 응용 프로그램은 적극적으로 개발 중입니다. 개발 환경은 개발자로 사용하는 컴퓨터입니다. 모든 팀원의 컴퓨터를 포함하여 응용 프로그램을 개발하거나 원격으로 원인이든 응용 프로그램입니다. 이 두 가지 측면이 다루어 지지만 개발 환경은 물리적 위치보다 응용 프로그램의 상태를 더 의미합니다.

개발 환경에서는 IDE (2 장 참조)부터 단위 테스트 라이브러리 및 표준 수정, 컴파일러 및 빌더, 파일 모니터 등에 이르기까지 다양한 도구를 사용할 수 있습니다. 손에.

우리가 응용 프로그램을 스마트 폰과 비교하면,이를 개발 환경으로 만드는 조립 공장. 이 환경에는 스크린, 하우징, 배터리, 다양한 LED와 같은 필요한 모든 구성 요소가 포함되어 있으며 각 구성 요소는 스마트 폰 장치를 구축하는 데 사용되기 전에 별도로 테스트됩니다. 이를 단위 테스트라고합니다. 모든 장치가 작동하는지 확인합니다.

응용 프로그램 개발에서 단위 테스트의 예는이 장의 끝에서 "더 많은 것을 원하는 사람들을 위해"라는 섹션을 참조하십시오.

스마트 폰 어셈블리의 은유를 추가로 설명하기 위해 테스트중인 배터리에는 별도의 충전기 액세서리가 필요하거나 화면의 터치 감도가 올바르게 작동하도록 화면을 테스트하기 위해 합성 손가락이있는 로봇 암이 필요할 수 있습니다.

이 모든 추가 기능은 개발 중에 만 존재합니다. 이 애드온은 개발 환경에서 생산 환경으로 변환 할 때 제거됩니다 ( 배포 ). 우리의 응용 프로그램의 경우, 이는 위에서 언급 한 컴파일/빌드 단계를 의미합니다. 다양한 CSS 및 JavaScript 파일이 합병되어 웹 사이트의 크기를 줄이고 사람들이 방문 할 때 더 빨리 나타납니다. 그리고 다양한 기타 최적화가 발생합니다 (이 장의 뒷부분에서 도입) - 최종 제품이 준비 될 때 최종 제품의 매력과 잠재력을 극대화하기 위해 모두가 발생합니다. 호스트 및 가상 호스트 자신의 컴퓨터에서 개발할 때 URL에 액세스 할 수 없습니다. https://www.php.cn/link/2c70BF4DF3F4BFE23222222222222222222222222222222222222222222222222222222222222222418c . 간단히 말해서, 가상 호스트는 컴퓨터에 설치된 서버 프로그램에 지침을 발행합니다. 기계에 표시됩니다.

보시다시피, 이것은 라이브 웹 사이트의 정기 요청 프로세스와 거의 동일합니다. 그러나 브라우저가 인터넷의 이름 서버에서 찾는 대신 MySite.com 도메인 이름을 자체 컴퓨터의 서버 프로그램에 묻는 이유는 무엇입니까? 호스트 파일.

호스트 파일은 각 운영 체제에 존재하는 특수 파일입니다. 우리는 "더 많은 것을 원하는 사람들을 위해"라는 제목의 섹션 1에서 간단히 언급했습니다. 여기에는 도메인 이름 목록과 해당 IP 주소가 포함되어있어 컴퓨터의 모든 브라우저가이를 읽고 DNS와 통신하지 않고 직접 IP 주소로 이동하여 어디로 가고 싶은지 확인할 수 있습니다. Windows에서 파일은 C : WindowsSystem32driveversetchosts, Linux 및 Mac Machines에 있으며 /etc /hosts에 있습니다. 이 파일에 ip-name 쌍을 넣으면 컴퓨터가 순종합니다. 지금 시도해 볼 수 있습니다. 두려워하지 마십시오 - 아무것도 잘못되지 않습니다. 준비가 된?

Windows에서 검색 필드를 입력하고 "Notepad"를 입력하고 나타나면 마우스 오른쪽 버튼을 클릭하고 "관리자로 실행"을 선택하십시오. 그런 다음 확인하라는 요청을받습니다. 개방 된 창에서 "파일"을 선택한 다음 내 컴퓨터 & gt; Windows & gt; System32 & gt; 드라이버 & gt; 메모장 창의 오른쪽 하단에서 호스트 파일을 표시하기 위해 "모든 파일"을 선택할 수 있습니다. 두 번 클릭하여 열 수 있습니다.

Linux/Mac 시스템에서 /> 검색하여 터미널을 엽니 다. Linux 에서 터미널에서 Sudo Gedit을 입력하여 기본 텍스트 편집기를 관리자로 엽니 다. 관리자 비밀번호를 입력하라는 요청을받습니다. OS X에서 에서 sudo/applications/textedit.app/contents/macos/textedit을 입력하면 동일한 작업을 수행합니다. 이 두 편집자 중 하나에서 "파일" -> "Open"으로 이동하여 디렉토리 등을 입력하여 호스트 파일을 찾으십시오. 두 번 클릭하여 열 수 있습니다. 파일을 열면 처음 몇 줄에 주목하십시오. 모두 해시 기호 (#)로 시작합니다. 이것은 그들이 주석이며 파일에 영향을 미치지 않음을 의미합니다. 이들은 파일을 사용자에게 설명하는 데 사용되며 PHP에도 있습니다. 이제,이 모든 주석선 아래에서 다음 줄을 추가하십시오 :

파일을 저장하고 브라우저에서 http://bing.com을 열십시오. 모든 요청을 Microsoft Search Engine Bing으로 Google로 성공적으로 리디렉션했습니다! 물론, 우리는 이러한 변경 사항을 자유롭게 삭제하거나 해시 기호를 댓글로 변환하여 파일을 저장할 수 있습니다. 평소처럼 http://bing.com을 다시 방문 할 수 있어야합니다.

이 방법을 사용하여 나중에 모든 브라우저 요청을 http://mysite.com (응용 프로그램의 샘플 도메인 이름이 될)으로 리디렉션합니다. 이를 통해 웹 사이트의 개발 버전을 실시간 환경에 배포하지 않고 쉽게 테스트 할 수 있습니다. 프리 릴리스 및 유지 보수 프리 릴리스 환경은 프로덕션 환경 (미러라고도 함)의 사본을 포함하는 별도의 서버 (또는 여러 서버)입니다. 소기업이나 프로젝트에서는 사전 방출 환경이 일반적으로 건너 뜁니다. 설치된 소프트웨어 버전과 일치하면 가능한 한 생산 환경과 유사하게 설계되며 구성 값은 동일합니다. 사전 릴리스는 최종 테스트를 수행하는 데 사용됩니다. 예를 들어 Facebook은 홈페이지를 재 설계 할 수 있으며 모든 사용자를 위해 프로덕션 환경에 배포하기 전에 직원을위한 사전 릴리스 서버에 배치합니다. 보기. 팀을위한 전용 비 프로그래머))는 정기적으로 사용 된 것처럼 모든 것을 먼저 테스트 할 수 있습니다. 모든 것이 잘 진행되면, 사전 릴리스에서 생산으로의 최종 배치가 발생합니다.

프리 릴리스는이 책의 범위를 벗어나지 만 항상 그것을 아는 것이 좋습니다. 가상 머신 및 소규모 일회성 프로젝트의 시대에는 사전 릴리스가 중복 될 수 있으며 더 큰 장기 웹 애플리케이션에서만 작동합니다.

이 맥락에서, 우리는 또한

유지 보수 모드 도 소개해야합니다. 응용 프로그램 주변의 환경이 변경되지 않기 때문에 환경

가 아닌

모드

입니다. 응용 프로그램의 상태 만 변경됩니다. 일반적으로 생산 서버의 스위치 일뿐입니다. 사람들은 사이트를 방문하려고하는 사람들에게 "지금 돌아와서 조정하십시오!" *amp 번들의 단점 PHP 개발을 시작할 때 XAMPP, WAMP, MAMP 또는 EasyPHP와 같은 패키지를 다운로드하여 설치하려는 유혹이 있습니다. 이 이름의 AMP는 "Apache, MySQL 및 PHP"를 나타냅니다. XAMPP는 Perl 언어의 마지막 P를 추가합니다. 첫 번째 문자는 운영 체제와 같은 Windows, Linux, Mac OS X 또는 XAMPP의 경우 크로스 플랫폼 (모든 운영 체제에서 실행될 수 있음)을 나타냅니다. 이 번들에는 컴퓨터에서 PHP 응용 프로그램을 빠르고 쉽게 실행하는 데 필요한 모든 소프트웨어가 포함되어 있습니다. 한 번의 클릭만으로 첫 번째 PHP 스크립트를 작성하는 데 필요한 모든 것을 설치할 수 있습니다. 그렇다면 단점은 무엇입니까? 귀하의 컴퓨터는 불필요한 소프트웨어로 오염됩니다 당신은 수동 설치보다 적은 것을 배우게됩니다 테스트는 어렵습니다 실수를 저지르면 이전 상태로 복원하는 것은 매우 어렵거나 불가능합니다 .

이러한 문제를 하나씩 해결합시다.

기계 오염

컴퓨터에 *amp 스택과 같은 소프트웨어를 설치할 때마다 컴퓨터의 일부가 손상됩니다. 나중에 소프트웨어를 삭제하더라도 일반적으로 불편한 트레이스, 일반적으로 Windows의 레지스트리 키 형태 또는 Linux의 파일 잔류 물로 남습니다. 실제로 이것은 Linux에서 특히 눈에 띄게됩니다. Windows 및 OS X 애플리케이션은 하나의 응용 프로그램 폴더에 설치되지만 모든 관련 파일이 포함되어 있으며 Linux에는 소프트웨어를 설치하는 것은 산탄 총으로 제작 된 성을 촬영하는 것과 같습니다. 한 번의 클릭으로 그들은 어디에나 있습니다.

시간이 지남에 따라 다른 라이브러리, 다른 패키지, 다른 도구를 설치하게됩니다. 애플리케이션을 더욱 발전시킬 때 이미 새로운 프로젝트를 병렬로 작업하기 시작했기 때문에 보충 소프트웨어를 계속 추가하고 완전히 다른 프로젝트를 추가 할 수 있습니다. 아마도 app1

는 이미지를 편집하기 위해 PHP 확장이 필요할 수 있으며, app2 는 코드를 폐쇄 소스 아카이브에 패키지하여 경쟁 업체로부터 코드를 숨기도록 PHP 확장이 필요합니다. 시간이 지남에 따라 컴퓨터에 수백 메가 바이트의 개발 소프트웨어가 있지만 여전히 필요한지 모르겠습니다. 컴퓨터가 느려지고 응용 프로그램이 덜 유용 해지고 사용중인 컴퓨터 인 개발 시스템은 응용 프로그램을 배포 할 계획, 원인 프로덕션 서버와 매우 다릅니다. 이 차이를 우아하게 처리 할 수 ​​없습니다. 당신은 종종 라이브 웹 사이트에서 실수와 싸우고 방문자를 귀찮게 할 것입니다. 학습은 진보이거나 안락 지대가 과대 평가되는 방법 입니다 이 ​​사전 제작 된 패키지에 의존함으로써 학습 시스템 관리 (Ops for Short)를 박탈합니다. 대기업에서 OPS는 서버 문제를 담당하는 팀 또는 개인입니다. 오류를 해결하고, 새로운 소프트웨어 설치, 기존 소프트웨어 업그레이드 등이 있습니다. 기본 시스템 관리는 소규모 팀에서 일하거나 고객을 위해 혼자 일할 때 필수 기술입니다.

한 번의 클릭으로 컴퓨터에 필요한 모든 것을 설치할 수있는 것이 매우 편리하지만 서버에 사용자 인터페이스가 없으므로 클릭 할 수 없습니다. PHP 응용 프로그램을 실행할 수 있도록 소프트웨어. 그렇지 않으면, 당신은 당신을 돕기 위해 서버 관리자를 고용하거나 공유 호스팅을 사용하기 위해 서버 관리자를 고용해야합니다 (6 장에서 설명 된 공포 이야기).

이 ​​*앰프 번들에 의존하는 것을 거부함으로써 서버 및 기타 소프트웨어를 수동으로 설치해야합니다.이 경력 경로를 진지하게 받아들이면이 지식이 익숙해집니다. 여러면에서 도움이됩니다. 또한이 책의 뒷부분에서 볼 수 있듯이 기본 사항을 마스터하는 것은 실제로 어렵지 않습니다.

테스트

app1 및 app2

가 PHP 5.3에 구축되었으며 MySQL 4.0을 실행하며 Apache (Server Software)가 전원을 공급하는 서버에 배포 될 것이라고 가정합니다. 그런 다음 새로운 요구 사항이 있습니다. app1

가 PHP 5.6 및 MySQL 5.1에서 실행될 수 있고 Nginx (Apache와 경쟁하는 다른 서버 프로그램, "엔진 x")에 의해 구동 될 수 있는지 확인하십시오. 오, 지금 어떻게해야하나요?

우리는 PHP를 최신 버전으로 업데이트하고 app1

가 여전히 유효한지 확인할 수 있지만 PHP 5.3 에서는 사용할 수없는 코드를 예기치 않게 사용하지 않고 는 어떻습니까? 다시 말하지만, MySQL을 5.1로 업그레이드하고 여전히 작동하는지 확인할 수 있지만 MySQL이 버전 5에서 이전 기능을 폐기하는지 어떻게 알 수 있습니까? 결국 APP2는 여전히 이러한 생산 서버에 배포 될 수 있으므로 여전히 4.0에서 실행해야합니다. 아아, 우리는 Apache vs Nginx를 어떻게 처리합니까? 컴퓨터에 두 개의 웹 서버를 설치하고 별도로 테스트합니까? 우리는 어떻게 전환합니까? 런타임에 웹 사이트를 테스트하는 것을 기억하는 방법은 무엇입니까? 이것은 두 개의 응용 프로그램에만 해당됩니다. 이제 각각 다른 요구 사항을 가진 10 명의 다른 고객으로부터 12 개의 응용 프로그램을 처리해야한다고 상상해보십시오. 그것은 모두 빨리 재미있게되었습니다. 다른 소프트웨어 버전 의이 분리 문제는 가상 머신을 통해 쉽게 해결할 수 있으며, 이는 4 장에서 논의 할 것입니다.

청소할 수없는 마지막으로 새 버전의 PHP를 설치하려고하지만 문제가 있으면 어떻게해야합니까? 이 상황은 OS X 및 Linux에서 특히 일반적입니다. 시스템에 설치된 PHP 버전은 이제 작동하지 않으므로 단일 사이트를 실행하는 것이 불가능합니다. 얼마나 엉망이야! 우리는 이전의 달리기 상태로 쉽게 복원 할 수있는 대신 하루 종일 우리 자신의 시스템을 디버깅하고 실행하려고 노력해야했습니다. 반드시 올바른 버전이 아니라

run .

우리가 10 분 전에 우리가했던 일로 돌아가기 위해 명령을 입력해야한다면 좋지 않습니까? 좋아, 우리는 할 수있다! 이것은 또한 4 장에서 입증 될 것입니다.

생산/개발 일관성

이것은 복잡한 진술이 실제로 매우 간단합니다. 우리는 실제로 간접적으로 그것에 대해 이야기했습니다. 생산/개발 일관성은 생산 및 개발 환경을 가능한 한 바로 유사하게, 바람직하게는 정확히 동일하게 만드는 것을 의미하므로, 개발 된 모든 것이 추가 구성 또는 디버깅 또는 튜닝없이 생산 환경에서 자동으로 실행됩니다.

일관성을 달성하는 것은 상당한 시간 절약으로 인해 워크 플로우에 매우 중요합니다. 제작 환경에서 응용 프로그램을 실행하기 위해 추가 작업을 수행하지 않아도됩니다. 즉, 끊임없이 추격하기보다는 응용 프로그램 컨텍스트에 진정으로 유익한 중요한 비즈니스 관련 논리 문제에 시간과 에너지를 자유롭게 집중시킬 수 있습니다. 개발을 변화시키고, 변화를 나타 내기 위해 생산에 두 번의 변화를 가져야하고, 기껏해야 지루하고 최악의 경우 프로젝트의 건강을 상하게 할 수 있습니다. 팀의 누가 누가 실수를할지 알 수 없어 앱이 사용자에게 오류 화면을 표시하게합니다.

일관성을 달성하는 가장 좋은 방법은 생산 환경에서와 같은 개발 환경에서 동일한 소프트웨어를 실행하는 것입니다. 예를 들어, Ubuntu Linux 14.04 운영 체제를 실행하는 서버의 생산 환경에 응용 프로그램을 배포하려는 경우이 운영 체제에서도 개발하는 것이 가장 좋습니다. 그러나 게임과 같은 고급 멀티미디어 컨텐츠를 사용하고 싶거나 Linux 운영 체제에 전혀 존재하지 않는 강력한 이미지 및 비디오 처리 소프트웨어가 필요하기 때문에 Windows를 실행하는 경우 어떻게해야합니까? 우리는 다른 모든 관심사를 버리고 Windows에 Linux를 설치하며 다른 무엇보다 일관성을 연구해야합니까? 아니면 우리가 선택한 운영 체제를 고수하면서 컴퓨터를 강력하고 아름답고 안정적으로 유지하면서 일관성을 포기하고 위험을 감수해야합니까?

운 좋게도, 두 세계를 최대한 활용할 수있는 세 번째 방법은 가상 머신 (4 장에 소개)입니다.

성능 및 디버깅 소개해야 할 애플리케이션 환경의 마지막 몇 가지 측면은 응용 프로그램이 빠르고 (성능) 및 오류가없는 (디버그)를 보장하는 것입니다. 이 섹션은 이용 약관을 만날 때 나중에 무엇을 기대 해야하는지 알려주기 위해 이론적입니다.

성능은 다양한 최적화 방법을 통해 달성됩니다. 단어의 의미와는 달리, 응용 프로그램 개발에서 최적화에는 일반적으로 여러 수준이 있으며, 변경 사항은 거의 없으며 즉시 완벽한 솔루션으로 이어집니다. 성능은 다음과 같은 측면을 포함하지만 이에 국한되지 않습니다. 데이터베이스 최적화 데이터베이스는 일반적으로 모든 웹 사이트의 가장 느린 부분이며, 데이터베이스가 일정 기간 동안 실행되면 병목 현상이 들어오는 요청이 불가능하여 병목 현상이 발생합니다. 가장 빠르게 처리하려면 가장 느린 부분이 명백 해지면 추가 최적화의 이점이 있습니다. 데이터베이스 최적화 방법에는 인덱스 설정, 읽기 및 쓰기 분할, 데이터베이스 엔진 변경, 캐시 된 추출 데이터 및 기타 신비한 문구가 포함됩니다.

프론트 엔드 리소스 최적화

우리는 편집 및 구성을 이전에 언급했습니다. 이것이 웹 사이트의 프론트 엔드를 최적화하는 방법입니다. 웹 사이트를 사용자에게 표시 할 때, 그들이 보는 출력에는 이미지, HTML, CSS 및 JavaScript가 포함되며, 1 장에 설명 된대로 브라우저에서 다운로드 및 실행해야합니다. 이 파일이 작을수록 웹 사이트가 더 빨라집니다. 일반적으로 웹 사이트에는 여러 CSS 파일과 여러 개의 JavaScript 파일이 있습니다. 각 유형을 더 큰 CSS 또는 JavaScript 파일로 결합하면 웹 사이트의 다운로드 속도가 크게 향상 될 수 있습니다. 자주 사용되는 또 다른 프론트 엔드 리소스 최적화 팁은 컨텐츠 전달 네트워크 (CDN)를 통해 이미지를 제공하는 것입니다. 속도를 향상시킵니다. 또한 이미지 크기를 줄이고 모든 이미지를 파일에 넣어 이미지 마법사를 만들 수 있습니다.

백엔드 최적화

이것은 컴파일/빌드 단계이기도합니다. 테스트 파일은 무시되고 파일은 백만 개의 작은 파일 대신 더 큰 파일로 병합됩니다. 일부 PHP 응용 프로그램은 C와 같은 다른 프로그래밍 언어로 편집되어있어 훨씬 빠릅니다.

캐시

캐시는 나중에 사용하기 위해 이전에 필요한 파일과 응답을 저장하고 다시 요청할 것으로 예상하는 것입니다. 데이터베이스에 데이터베이스의 총 사용자 수에 대해 데이터베이스에 요청하면 계산하여 해당 번호를 제공합니다. 나중에 사용하기 위해이 번호를 저장하면 다음에 요청할 때 준비된 정보를 직접 얻을 수 있습니다. 서버에게 "mysite.com/user/5/?를 방문하면 무엇을 얻을 수 있습니까?" 다음에 질문을 할 때 질문을 할 때 답을 기억하라고 말하면 서버는 이미 알고 있기 때문에 찾아 볼 필요가 없습니다. 캐싱은 웹 개발에서 매우 중요합니다. "캐싱은 왕"이라는 말이 있습니다. 많은 트래픽이 갑자기 나타나면 응용 프로그램이 생명이나 사망임을 의미 할 수 있습니다.

디버깅은 성능과 밀접한 관련이 있습니다. 사용자가 성가신 오류 화면을 가져 오는 것 외에도 코드의 오류는 실행 잠금, 코드에 존재하지 않는 일시 중지, 데이터베이스의 복제 및 불필요한 쿼리 등을 초래할 수 있습니다.

그렇다면 성능을 측정하거나 오류를 찾는 방법은 무엇입니까? PHP 애플리케이션을 분석하는 데 사용할 수있는 많은 도구가 있습니다 (이는 응용 프로그램의 모든 측면에서 오류 및 성능을 측정하는 것입니다). 두 가지 더 나은 도구는 Z-Ray와 Blackfire입니다 (우리는이 책의 범위를 벗어나기 때문에이 책에서 소개하지 않을 것입니다). 경고 : 미세 최적화에주의를 기울이십시오 일반적인 초보자 실수는 미세 최적화라는 점에 유의해야합니다. 예를 들어, 한 번은 문자열과 함께 단일 따옴표를 사용하는 것이 이중 인용문 ($ var = "일부 문자열")보다 빠른다는 생각이있었습니다. 성능은이 최적화를 이끌어 낼 수 있고 거의 항상 사소한 일이므로 복잡한 SQL 쿼리를 개선하거나 원격 HTTP 호출을 캐싱합니다. 의심스러운 경우 벤치 마크 및 실제 데이터 (예 : Z-Ray 또는 Blackfire의 데이터)를 사용하고 직관을 사용하지 마십시오.

요약 이 장에서는 수명주기의 주어진 단계에서 응용 프로그램 주변에 존재하는 다양한 생태계를 다루는 응용 프로그램 환경을 탐색합니다. 우리는 가상 호스팅과 온라인 결과를 찾는 대신 웹 사이트 URL을 자신의 PHP 설치로 리디렉션하도록 컴퓨터를 구성하는 방법에 대해 논의했으며 매우 중요한 개발/생산 일관성에 대해 논의했습니다.

이 모든 것이 너무 복잡해 보이면 낙담하지 마십시오. 이것은 단순히 지금까지 우리가 거의 이론 만 다루었 기 때문에 실천의 영역에 용감하게 들어가는 데 필요한 이론이 있기 때문입니다. 다음 장에서는 일부 가상 머신을 사용하여 직접 작동합니다.

더 많은 것을 원하는 사람들을 위해 응용 프로그램 영역에서 개별 구성 요소 테스트를 단위 테스트라고합니다. 각 개별 코드 세트를 테스트하여 작동하는지 알 수 있습니다.

예를 들어 응용 프로그램의 일부는 각 이름에서 로컬 기호를 제거하여 미국 친화적 인 문자로 변환 할 수 있습니다. 내 성 "Škvorc"는 "skvorc"로 변환됩니다. ŠKVORC를 SKVORC로 변환하는 것은 작은 코드 또는 장치입니다. 이 장치는 테스트 가능합니다. 즉, 주어진 "Škvorc"입력에 대해 "Skvorc"의 출력이 예상됩니다. 그런 다음 입력과 필요한 출력을 정의하는 파일 인 단위 테스트를 작성할 수 있으며 실행할 때이 기능이 여전히 유효 한 경우 테스트합니다. 두 달 후 앱에서 무언가를 변경했다면이 테스트를 쉽게 실행할 수 있으며이 변환이 여전히 유효한지 확인할 수 있습니다. 이 워크 플로우를 사용하면 이전에 구축하고 잊어 버린 것을 깨뜨리는 것에 대해 걱정하지 않고 나중에 응용 프로그램을 업그레이드 할 수 있습니다. 이 장의 시작 부분에서 스마트 폰에 대한 은유에서 별도의 테스트 가능한 장치는 터치 스크린 또는 배터리 일 수 있습니다.

PHP 응용 프로그램 환경 (FAQS)에 대한 FAQ 웹 개발에서 PHP 응용 프로그램 환경의 중요성은 무엇입니까?

PHP 애플리케이션 환경은 웹 개발의 중요한 측면입니다. 개발자가 PHP 응용 프로그램을 구축, 테스트 및 배포 할 수있는 제어 환경을 제공합니다. 이 환경에는 PHP 통역사, 웹 서버 및 데이터베이스 시스템이 포함됩니다. 이를 통해 개발자는 구성 설정, 오류 처리 및 데이터베이스 연결과 같이 일관되고 예측 가능한 방식으로 응용 프로그램의 다양한 측면을 관리 할 수 ​​있습니다. 이는보다 효율적인 개발 프로세스와 고품질 응용 프로그램으로 이어집니다.

PHP 애플리케이션 환경과 기타 프로그래밍 환경의 차이는 어떻습니까?

PHP 응용 프로그램 환경은 웹 개발을 위해 설계되었습니다. 동적 웹 페이지와 웹 응용 프로그램을 작성할 수있는 기능이 장착되어 있습니다. 다른 프로그래밍 환경과 달리 PHP 환경은 다양한 데이터베이스를 지원하며 다양한 운영 체제와 호환됩니다. 또한 광범위한 오류보고 및 로깅 기능을 제공하여 디버깅 및 문제 해결에 크게 도움이 될 수 있습니다.

PHP 응용 프로그램 환경의 주요 구성 요소는 무엇입니까?

PHP 응용 프로그램 환경에는 일반적으로 PHP 통역사, 웹 서버 및 데이터베이스 시스템의 세 가지 주요 구성 요소가 포함됩니다. PHP 통역사는 PHP 스크립트를 실행할 책임이 있습니다. 웹 서버는 HTTP 요청 및 응답을 처리합니다. 데이터베이스 시스템은 PHP 응용 프로그램의 요구 사항에 따라 데이터를 저장하고 검색합니다. 이러한 구성 요소는 함께 PHP 응용 프로그램의 개발, 테스트 및 배포를위한 포괄적 인 플랫폼을 제공합니다.

PHP 응용 프로그램 환경을 설정하는 방법은 무엇입니까?

PHP 응용 프로그램 환경 설정에는 필요한 구성 요소 설치 및 구성이 포함됩니다. 여기에는 PHP 통역사, 웹 서버 (예 : Apache 또는 Nginx) 및 데이터베이스 시스템 (예 : MySQL 또는 PostgreSQL)이 포함됩니다. 이러한 구성 요소를 설치 한 후에는 함께 작동하도록 구성해야합니다. 여기에는 데이터베이스 연결 설정, PHP 설정 구성 및 PHP 스크립트를 처리하기위한 웹 서버 설정이 포함될 수 있습니다.

PHP 애플리케이션 환경 관리를위한 모범 사례는 무엇입니까?

PHP 응용 프로그램 환경 관리를위한 모범 사례에는 환경을 최신 상태로 유지하고 데이터를 정기적으로 백업하며 환경의 성능을 모니터링하는 것이 포함됩니다. 보안 연결 사용, 민감한 데이터 보호, 정기적으로 취약점을 확인하는 것과 같은 보안 모범 사례를 따르는 것이 중요합니다. 또한 버전 제어 시스템을 사용하면 변경 사항을 관리하고 다른 버전의 애플리케이션을 추적하는 데 도움이 될 수 있습니다.

PHP 응용 프로그램 환경은 오류 처리에 어떻게 도움이됩니까?

PHP 응용 프로그램 환경은 광범위한 오류보고 및 로깅 기능을 제공합니다. 이러한 기능은 PHP 스크립트 실행 중에 발생하는 오류에 대한 자세한 정보를 제공하도록 구성 할 수 있습니다. 이 정보는 디버깅 및 문제 해결에 매우 중요합니다. 또한 PHP 환경은 사용자 경험을 방해하지 않는 방식으로 오류를 처리하도록 설정할 수 있습니다.

모바일 애플리케이션 개발에 PHP 애플리케이션 환경을 사용할 수 있습니까?

예, PHP 응용 프로그램 환경은 모바일 애플리케이션 개발에 사용될 수 있습니다. PHP는 서버 측 스크립팅 언어이므로 모바일 애플리케이션에 대한 백엔드를 생성하는 데 사용할 수 있습니다. 이 백엔드는 데이터 처리, 데이터베이스와의 상호 작용 및 사용자 세션 관리와 같은 작업을 처리 할 수 ​​있습니다. 그러나 모바일 애플리케이션의 프론트 엔드에는 일반적으로 HTML, CSS 및 JavaScript와 같은 다양한 기술을 사용합니다.

PHP 애플리케이션 환경 사용의 장점은 무엇입니까?

PHP 응용 프로그램 환경을 사용하는 데는 많은 장점이 있습니다. PHP 응용 프로그램을 개발, 테스트 및 배포하기위한 제어되고 예측 가능한 환경을 제공합니다. 다양한 데이터베이스를 지원하며 다양한 운영 체제와 호환됩니다. 또한 광범위한 오류보고 및 로깅 기능을 제공하여 디버깅 및 문제 해결에 크게 도움이 될 수 있습니다. 또한 PHP 환경은 일반적으로 설정 및 관리가 쉽습니다.

내 PHP 애플리케이션 환경을 보호하는 방법은 무엇입니까?

PHP 응용 프로그램 환경 보호에는 여러 단계가 필요합니다. 여기에는 안전한 연결 사용, 민감한 데이터 보호, 정기적으로 환경 업데이트 및 취약점 확인이 포함됩니다. 또한 데이터베이스 쿼리에 대한 전처리 문을 사용하여 사용자 입력 검증 및 청소 및 감가 상각 된 기능을 피하는 것과 같은 PHP 인코딩에 대한 모범 사례를 따르는 것이 중요합니다.

PHP 응용 프로그램 환경을 사용자 정의 할 수 있습니까?

예, PHP 응용 프로그램 환경은 프로젝트의 특정 요구를 충족시키기 위해 사용자 정의 할 수 있습니다. 여기에는 PHP 설정 구성, 데이터베이스 연결 설정 및 웹 서버 사용자 정의가 포함될 수 있습니다. 또한 빠른 응용 프로그램 개발을위한 프레임 워크, 테스트 도구 및 이미지 처리, XML 구문 분석 등과 같은 작업을 처리하기위한 라이브러리와 같은 PHP 환경의 기능을 확장 할 수있는 많은 도구 및 라이브러리가 있습니다.

위 내용은 PHP 응용 프로그램 환경의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿