로컬 컴퓨터의 PHP 서버?


161

PHP 사이트를 만들려고하는데 PHP 파일을 호스트에 업로드하지 않고 테스트하고 싶습니다. 업로드하기 전에 기본적으로 내 컴퓨터에서 테스트합니다. 어떻게합니까?


1
XAMPP를 사용하고 PHP 서버를 설치하십시오. 스카이프가 포트 80 및 443을 사용하는 경우 아파치 서버가 시작되지 않는 경우가 있습니다. feelzdroid.com/2015/12/install-php-server-local-machine.html
Naruto

답변:



380

현재 PHP 5.4 이상 에는 웹 서버내장되어 있습니다.

터미널에서 간단히 명령을 실행하면됩니다.

cd path/to/your/app
php -S 127.0.0.1:8000

그런 다음 브라우저로 이동 http://127.0.0.1:8000하여 시스템이 작동하고 있어야합니다. (이 기능을 사용하려면 index.php 또는 index.html 파일이 있어야합니다.)

간단한 라우터를 추가 할 수도 있습니다

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
    return false;    // serve the requested resource as-is.
} else { 
    require_once('resolver.php');
}
?>

그런 다음 명령을 실행하십시오.

php -S 127.0.0.1:8000 router.php

참고 문헌 :


9
궁금한 점이 있으면 아래 링크에서 -S와 다른 명령에 대한 참조를 찾을 수 있습니다. 특히 -S는 "내장 웹 서버로 실행"을 의미합니다. php.net/manual/en/features.commandline.options.php
calipoop

그러나 데이터베이스에 저장해야 할 데이터베이스는 어떻습니까!
유세프 알 타프

1
@YousefAltaf OP는 날씨를 지정하지 않았거나 데이터베이스를 사용하기를 원치 않았습니다. 그들은 PHP 서버를 요청했고 이것은 단순히 PHP 서버입니다. MYSQL 서버 또는 PostGres 서버를 실행하려면 다른 질문이 될 것이며 해당 서버를 사용하도록 PHP 응용 프로그램을 구성 할 수 있습니다. 또한 빠른 개발을 위해 SQLITE DB가해야합니다.
GardenRouteGold

1
PHP 내장 웹 서버는 병렬 요청을 지원하지 않습니다 : The web server runs a only one single-threaded process, so PHP applications will stall if a request is blocked.. 성능 문제가 발생할 수 있습니다.
vikyd

1
@vikyd 이것은 완전한 응용 프로그램 개발을위한 것이 아니며 기능 또는 코드 IMHO를 테스트 / 디버그하는 빠른 방법 일뿐입니다.
GardenRouteGold

39

이것은 PHP 서버를 로컬로 실행하는 간단하고 확실한 방법입니다.

php -S 0.0.0.0:<PORT_NUMBER>

여기서 PORT_NUMBER는 1024에서 49151 사이의 정수입니다.

예: php -S 0.0.0.0:8000

노트:

  1. localhost대신 사용 0.0.0.0하면 연결 거부 오류가 발생할 수 있습니다.

  2. 모든 인터페이스에서 웹 서버에 액세스 할 수있게하려면을 사용하십시오 0.0.0.0.

  3. URI 요청이 파일을 지정하지 않으면 주어진 디렉토리의 index.php 또는 index.html이 리턴됩니다.

다음 파일이 주어지면 (router.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 0.0.0.0:8000 router.php

... 브라우저에서 http : // localhost : 8000 / 로 이동하면 다음이 표시됩니다.

Welcome to PHP

참고:

내장 웹 서버


4
0.0.0.0에 관한 팁을 주셔서 감사합니다. 그것이 어떤 마술 수정 이었는지-받아 들여진 대답에 포함되어야합니다.
calipoop

14

나는 종종 다음 명령을 사용하여 PHP Laravel 프레임 워크를 회전시킵니다.

$ php artisan serve --port=8080
or
$ php -S localhost:8080 -t public/

위의 명령에서 : - 장인은 사용하십시오 Laravel에 포함 된 명령 줄 인터페이스 역할을 PHP 서버에 내장 된 호출 할 수는

내장 웹 서버로 실행

 php -S <addr>:<port> -T

여기서
-S : 내장 웹 서버로 실행으로 전환합니다.
-T : 내장 웹 서버의 문서 루트를 지정하도록 전환합니다.


8

WAMP 사용 합니다. 하나의 쉬운 설치 마법사, Apache 및 PHP를위한 수많은 모듈이 사전 구성되어 있으며 원격 구성에 맞게 쉽게 켜고 끌 수 있습니다.


7

다른 PHP, MySQL 및 웹 서버 버전 중에서 선택할 수 있고 Docker 사용을 두려워하지 않는 모든 운영 체제에 대한 다목적 로컬 개발 스택을 원한다면 devilbox를 사용할 수 있습니다.

devilbox는 모든 LAMP 및 MEAN을 지원하고 모든 주요 플랫폼에서 실행되는 현대적이고 고도로 사용자 정의 가능한 dockerized PHP 스택입니다. 주요 목표는 로컬 개발에 필요한 모든 버전을 쉽게 전환하고 결합하는 것입니다. 가상 호스트 및 DNS 레코드가 자동으로 생성되는 프로젝트를 무제한 지원합니다. 전자 메일 포괄 및 인기있는 개발 도구도 제공됩니다. 모든 것이 대량 가상 호스팅으로 사전 설정되므로 구성이 필요하지 않습니다.

시작하고 실행하는 것은 매우 간단합니다.

# Get the devilbox
$ git clone https://github.com/cytopia/devilbox
$ cd devilbox

# Create docker-compose environment file
$ cp env-example .env

# Edit your configuration
$ vim .env

# Start all containers
$ docker-compose up

데빌 박스

연결:





1

Apache Friends XAMPP를 사용하십시오 . Apache HTTP 서버, PHP 5 및 MySQL 5를 설정합니다 (내가 아는 한 그 이상이있을 수 있습니다). 아파치 (또는 모듈)를 사용하도록 구성하는 방법을 몰라도됩니다.

Apache가 제공하는 htdocs 디렉토리가 있고 ( http : // localhost /로 액세스 가능 ) PHP 파일을 거기에 넣을 수 있어야합니다. 설치하면 C : \ xampp \ htdocs에 있습니다.


1

PHP를 지원하는 웹 서버 인 올바른 소프트웨어를 갖춘 로컬 컴퓨터를 가지고 있다면 설명 할 수없는 이유가 없습니다.

나는 현재 Windows XP 컴퓨터에서 XAMPP로 (현재 집에서) Kubuntu 및 LAMP 스택으로하고 있습니다.



1

AppServ 는 Windows에서 실행되는 작은 프로그램입니다.

  • 아파치
  • PHP
  • MySQL
  • phpMyAdmin

또한 Apache의 시작 및 중지 버튼을 제공합니다. 나는 매우 유용하다고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.