PHP 사이트를 구축하려고 하는데 호스트에 업로드하지 않고 PHP 파일을 테스트하고 싶습니다.업로드하기 전에 제 기계로 테스트하는 거죠그걸 어떻게 하는 거죠?
질문에 대한 답변
PHP 5.4 이후에는 웹 서버가 내장되어 있습니다.
단말기에서 명령어를 실행하면 됩니다.
cd path/to/your/app php -S 127.0.0.1:8000
그런 다음 브라우저로 이동하여 boom을 실행하면 시스템이 가동되고 있을 것입니다.(이 기능이 작동하려면 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
참고 자료:
- https://www.php.net/manual/en/features.commandline.webserver.php
- https://www.php.net/manual/en/features.commandline.options.php
XAMPP 설치 및 실행:http://www.apachefriends.org/en/xampp.html
이것은 php 서버를 로컬로 실행할 수 있는 간단하고 확실한 방법입니다.
php -S 0.0.0.0:<PORT_NUMBER>
여기서 PORT_NUMBER는 1024 ~49151의 정수입니다
예제:php -S 0.0.0.0:8000
주의:
사용하시는 경우
localhost
보다는0.0.0.0
접속 거부 오류가 발생할 수 있습니다.임의의 인터페이스에서 웹 서버에 액세스 할 수 있도록 하려면
0.0.0.0
.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
레퍼런스:
저는 종종 다음 명령을 사용하여 PHP Laravel 프레임워크를 회전시킵니다.
$ php artisan serve --port=8080 or $ php -S localhost:8080 -t public/
위의 명령어: – Artisan은 Laravel에 포함된 명령줄 인터페이스로, serve를 사용하여 php 서버를 호출합니다.
빌트인 웹 서버에서 실행.
php -S <addr>:<port> -T
여기서,
-S : 내장된 웹 서버에서 실행으로 전환합니다.
-T : 빌트인 웹 서버의 문서 루트를 지정합니다.
저는 WAMP를 사용하고 있습니다.Apache 및 PHP 용으로 구성된 간단한 설치 마법사로, 리모트 구성에 맞게 쉽게 켜고 끌 수 있습니다.