ฉันพยายามสร้างเว็บไซต์ PHP และฉันต้องการทดสอบไฟล์ PHP ของฉันโดยไม่ต้องอัปโหลดไปยังโฮสต์ของฉัน ทำการทดสอบบนเครื่องของฉันก่อนที่จะอัพโหลด ฉันจะทำอย่างไร
ฉันพยายามสร้างเว็บไซต์ PHP และฉันต้องการทดสอบไฟล์ PHP ของฉันโดยไม่ต้องอัปโหลดไปยังโฮสต์ของฉัน ทำการทดสอบบนเครื่องของฉันก่อนที่จะอัพโหลด ฉันจะทำอย่างไร
คำตอบ:
ติดตั้งและเรียกใช้ XAMPP: http://www.apachefriends.org/en/xampp.html
php -S localhost:8000
เป็นตัวเลือกที่ง่ายกว่าโดยไม่ต้องติดตั้งอะไรเพิ่มเติม
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
อ้างอิง:
The web server runs a only one single-threaded process, so PHP applications will stall if a request is blocked.
เว็บเซิร์ฟเวอร์ไม่สนับสนุนคำขอขนาน: นี่อาจทำให้เกิดปัญหาประสิทธิภาพการทำงาน
นี่เป็นวิธีที่ง่ายและแน่นอนในการเรียกใช้เซิร์ฟเวอร์ 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 ซึ่งใช้การบริการเพื่อโทรในตัวเซิร์ฟเวอร์ php
ในการทำงานด้วยเว็บเซิร์ฟเวอร์ในตัว
php -S <addr>:<port> -T
ที่นี่
-S: เปลี่ยนเป็นเรียกใช้ด้วยเว็บเซิร์ฟเวอร์ในตัว
-T: สลับเพื่อระบุรูทเอกสารสำหรับเว็บเซิร์ฟเวอร์ในตัว
หากคุณต้องการสแต็คการพัฒนาในพื้นที่อเนกประสงค์สำหรับระบบปฏิบัติการใด ๆ ที่คุณสามารถเลือกได้จาก PHP, MySQL และเว็บเซิร์ฟเวอร์เวอร์ชั่นต่าง ๆ และไม่กลัวที่จะใช้ Docker คุณสามารถไปที่Devilboxได้
The devilbox เป็นสแต็ก PHP ที่ทันสมัยและปรับแต่งได้ตามความต้องการซึ่งรองรับ LAMP และ MEAN เต็มรูปแบบและทำงานบนแพลตฟอร์มหลักทั้งหมด เป้าหมายหลักคือการสลับและรวมเวอร์ชันใด ๆ ที่จำเป็นสำหรับการพัฒนาในท้องถิ่นได้อย่างง่ายดาย รองรับจำนวนโครงการที่ vhosts และ 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
ลิงค์:
ติดตั้งXAMPP หากคุณใช้ MS Windows WAMPก็เป็นตัวเลือกเช่นกัน
MAMP ถ้าคุณอยู่ใน MAC MAMP
หากคุณกำลังใช้ Windows ดังนั้นWPN-XM Server Stackอาจเป็นทางเลือกที่เหมาะสม
ใช้Apache เพื่อน XAMPP มันจะตั้งค่าเซิร์ฟเวอร์ Apache HTTP, PHP 5 และ MySQL 5 (เท่าที่ฉันรู้ คุณไม่จำเป็นต้องรู้วิธีกำหนดค่า apache (หรือโมดูลใด ๆ ) เพื่อใช้งาน
คุณจะมีไดเรกทอรี htdocs ซึ่ง Apache จะให้บริการ (สามารถเข้าถึงได้โดยhttp: // localhost / ) และควรวางไฟล์ PHP ของคุณไว้ที่นั่น ด้วยการติดตั้งของฉันมันอยู่ที่ C: \ xampp \ htdocs
หากคุณมีเครื่องที่มีซอฟต์แวร์ที่ถูกต้อง: เว็บเซิร์ฟเวอร์ที่รองรับ PHP ไม่มีเหตุผลว่าทำไมคุณไม่ทำตามที่อธิบาย
ฉันกำลังทำมันกับ XAMPP ในเครื่อง Windows XP และ (ที่บ้าน) กับ Kubuntu และ LAMP stack
อีกตัวเลือกหนึ่งคือZend เซิร์ฟเวอร์ชุมชน Edition
AppServเป็นโปรแกรมขนาดเล็กใน Windows ที่จะเรียกใช้:
นอกจากนี้ยังจะให้คุณเริ่มต้นและปุ่มหยุดสำหรับ Apache ซึ่งฉันพบว่ามีประโยชน์มาก