PHP 5.4 내 장 된 웹 서버 사용 방법

4793 단어 PHP서버
PHP 는 PHP 파일 을 실행 하 는 것 을 분석 하기 위해 서 는 PHP 해석 기 가 필요 한 스 크 립 트 언어 입 니 다.PHP 를 CGI 서비스 웹 요청 으로 할 때 특정한 웹 서버 에 삽입 해 야 합 니 다.가장 흔히 볼 수 있 는 것 은 Apache 나 IIS 에 통합 하 는 것 입 니 다.즉,PHP 를 사용 하기 전에 Apache 나 IIS 를 설치 하고 PHP 와 통 합 된 인 자 를 정확하게 설정 해 야 한 다 는 것 입 니 다.비록 이러한 설정 은 매우 규범 적 이 고 문서 가 매우 풍부 하지만 우 리 는 Apache 와 PHP 통합 을 설치 할 때 자주 문제 가 발생 합 니 다.그리고 가끔 은 간단 한 PHP 특징 만 테스트 하고 싶 습 니 다.이 를 위해 Apache 서 비 스 를 설치 하고 시작 하고 싶 지 않 습 니 다.

그러나 공식 문서 에 따 르 면 이 내 장 된 웹 서버 는 개발 테스트 만 제공 할 뿐 사용 중 생산 환경 을 추천 하지 않 는 다.이 서버 는 처리 요청 을 받 아들 일 때 순서대로 실행 되 기 때문에 동시 처리 할 수 없습니다.
이 내 장 된 웹 서버 는 사용 하기에 매우 편리 합 니 다.아래 명령 만 수행 하면 됩 니 다.
$ php -S localhost:8000
그리고 방문 할 수 있 습 니 다.이렇게 시작 하면 기본 웹 서비스 디 렉 터 리 는 명령 을 실행 하 는 현재 디 렉 터 리 입 니 다.현재 디 렉 터 리 를 사용 하지 않 으 려 면-t 인 자 를 사용 하여 지정 해 야 합 니 다.
예\#1 웹 서버 시작
$ cd ~/public_html
$ php -S localhost:8000
터미널 출력 정보:
PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit
청 하 다http://localhost:8000/ 화해시키다http://localhost:8000/myscript.html 주소 후 터미널 출력 은 다음 과 같은 정보 입 니 다.

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit.
[Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read
[Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read
[Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read
[Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read
[Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read


예\#2 웹 서버 를 시작 할 때 지정 한 문서 의 루트 디 렉 터 리
$ cd ~/public_html
$ php -S localhost:8000 -t foo/
터미널 디 스 플레이 정보:
PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011
Listening on localhost:8000
Document root is /home/me/public_html/foo
Press Ctrl-C to quit
시작 명령 행 뒤에 phop 스 크 립 트 파일 을 추가 하면 이 파일 은'공유 기'스 크 립 트 로 간 주 됩 니 다.이 스 크 립 트 는 모든 HTTP 요청 을 담당 합 니 다.이 스 크 립 트 가 실 행 될 때 FALSE 로 돌아 가면 요청 한 자원 이 정상적으로 반 환 됩 니 다.FALSE 가 아니라면 탐색 에 표 시 된 것 은 이 스 크 립 트 가 만 든 내용 입 니 다.
예\#3 공유 기 스 크 립 트 사용
이 예 에서 그림 에 대한 요청 은 해당 그림 으로 되 돌아 가지 만 HTML 파일 에 대한 요청 은"Welcome to PHP"로 표 시 됩 니 다.

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is.
} else {
echo "<p>Welcome to PHP</p>";
}
?>
$ php -S localhost:8000 router.php
예\#4 내장 웹 서버 사용 여 부 를 판단 합 니 다.
프로그램 판단 을 통 해 같은 PHP 공유 기 스 크 립 트 가 내 장 된 웹 서버 와 생산 서버 에서 의 다른 행동 을 조정 합 니 다.

<?php
// router.php
if (php_sapi_name() == 'cli-server') {
/* route static assets and return false */
}
/* go on with normal index.php operations */
?>
$ php -S localhost:8000 router.php
이 내 장 된 웹 서버 는 표준 MIME 형식 자원 을 식별 할 수 있 습 니 다.확장 자 는'css,.gif,.htm,.html,.jpe,.jpeg,.jpg,.js,.png,.svg,and.txt'입 니 다.htm 와 svg 를 지원 으로 확장 하 는 것 은 PHP 5.4.4 이후 에 야 지원 합 니 다.
예\#5 지원 되 지 않 는 파일 형식 처리
이 웹 서버 가 지원 되 지 않 는 MIME 파일 형식 을 정확하게 처리 하 기 를 원한 다 면 다음 과 같이 하 십시오.

<?php
// router.php
$path = pathinfo($_SERVER["SCRIPT_FILENAME"]);
if ($path["extension"] == "ogg") {
header("Content-Type: video/ogg");
readfile($_SERVER["SCRIPT_FILENAME"]);
}
else {
return FALSE;
}
?>

$ php -S localhost:8000 router.php
내 장 된 웹 서버 에 원 격 으로 접근 하려 면 시작 명령 을 다음 과 같이 바 꿔 야 합 니 다.
예\#6 이 내 장 된 웹 서버 에 원 격 으로 접근 합 니 다.
$ php -S 0.0.0.0:8000
이렇게 하면 당신 은 8000 포트 를 통 해 이 내 장 된 웹 서버 에 원 격 으로 접근 할 수 있 습 니 다.
다음은 다른 네티즌 들 의 보충
PHP 는 5.4 버 전부터 내 장 된 server 가 있 습 니 다.여 기 는 win 10 플랫폼 에서 server 서 비 스 를 시작 합 니 다.
1.우선 win 플랫폼 에 PHP>5.4 를 설치 하고 C:\php\pear 디 렉 터 리 에 router.php,파일 을 만 들 고 echo 출력 을 작성 합 니 다.
2.관리 자 를 이용 하여 powerShell 에 들 어가 명령 을 입력 합 니 다.
php -S localhost:8000 router.php
리 턴 실행 되 돌 아 왔 습 니 다:
PHP 5.4.45 Development Server started at Tue Nov 07 16:32:56 2017
Listening on http://localhost:8000
Document root is C:\WINDOWS\system32
Press Ctrl-C to quit.
3.기본적으로 router.php 파일 의 디 렉 터 리 주 소 는 C:\php\pear 입 니 다.
4.브 라 우 저 에 입력
http://localhost:8000

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기