Score:5

เว็บเซิร์ฟเวอร์ PHP ในตัวมีข้อเสียมากกว่าทางเลือกในการพัฒนาในท้องถิ่นอื่น ๆ หรือไม่?

ธง br

เมื่อรับชม ติดตั้ง Drupal เพื่อการพัฒนาท้องถิ่นฉันเชื่อว่า Drupal 8 และ Drupal 9 มาพร้อมกับเว็บเซิร์ฟเวอร์ PHP ในตัวที่สามารถตั้งค่าได้อย่างรวดเร็วโดยการโคลนคอร์และเรียกใช้ php -S localhost:8000. อย่างไรก็ตามทางเจ้าหน้าที่ คู่มือพัฒนาท้องถิ่น ไม่ได้กล่าวถึงสิ่งนี้และแนะนำให้ใช้แทน สจล เพื่อการพัฒนาท้องถิ่น.

หากเว็บเซิร์ฟเวอร์ PHP ในตัวตั้งค่าได้รวดเร็วมาก เหตุใดฉันจึงควรใช้ DDEV หรือทางเลือกอื่นๆ สำหรับการพัฒนาในพื้นที่ (เช่น WAMP/MAMP/XAMPP, Docker, Cloud IDE ของ Acquia เป็นต้น) ทางเลือกเหล่านี้มีคุณสมบัติที่เว็บเซิร์ฟเวอร์ PHP ในตัวไม่มีหรือไม่?

leymannx avatar
ne flag
คุณสามารถใส่แค่รองเท้าเดินออกไปข้างนอกได้ ทำไมคุณถึงต้องการเสื้อผ้าอื่น ๆ สำหรับการเดิน? DDEV (และสำหรับบางรายการขยายทางเลือกอื่น ๆ ที่ระบุไว้ด้วย) ดูแลมากกว่าการจัดหาเซิร์ฟเวอร์เพื่อเรียกใช้ Drupal มันมาพร้อมกับ SSL, Drush, ฐานข้อมูล, นักแต่งเพลง และอื่น ๆ อีกมากมาย มันสามารถกำหนดค่า ขยายได้ ปรับใช้กับเพื่อนร่วมงานของคุณ เลียนแบบเซิร์ฟเวอร์ที่ใช้งานจริง Drupal จะทำงานต่อสาธารณะในภายหลังและอื่นๆ คุณต้องการมากกว่าแค่เซิร์ฟเวอร์ PHP เปล่าๆ เพื่อให้เรียกใช้ Drupal ได้อย่างง่ายดาย
Kevin avatar
in flag
เว็บเซิร์ฟเวอร์ php นั้นไม่มีประโยชน์อะไรเลย ไม่มีที่ไหนใกล้เคียงกับสภาพแวดล้อมจริง และคุณลักษณะทุกอย่างที่คุณต้องการเพิ่มจะเป็นเรื่องที่ยุ่งยากโดยสิ้นเชิง เพียงแค่ใช้นักเทียบท่า
Score:8
ธง cn

Drupal 8 และ 9 ทำ ไม่ มาพร้อมกับเว็บเซิร์ฟเวอร์ในตัว

php -S เป็น พี.เอช.พีเว็บเซิร์ฟเวอร์ของ Bare Bone สำหรับการทดสอบแบบจำกัด อ่านเพิ่มเติมในคู่มือ PHP

เซิร์ฟเวอร์ในตัวของ PHP นั้นไม่ดีสำหรับการพัฒนาในพื้นที่ เนื่องจากคุณต้องการให้สภาพแวดล้อมการพัฒนาในพื้นที่ของคุณตรงกับสภาพแวดล้อมที่ใช้งานจริง/ที่ใช้งานจริงมากที่สุด ดังนั้นจึงเป็นการดีที่จะใช้งานเซิร์ฟเวอร์เดียวกันกับที่คุณใช้ในการผลิต

DDEV, lando และโซลูชัน dev ในพื้นที่ที่ใช้นักเทียบท่าอื่นๆ จะช่วยให้คุณจำลองเว็บเซิร์ฟเวอร์จริงของคุณอย่างใกล้ชิดและตรวจจับปัญหาก่อนที่คุณจะส่งโค้ดของคุณไปยังเซิร์ฟเวอร์ที่ใช้งานจริง

นอกจากนี้เซิร์ฟเวอร์ในตัวของ PHP ยังมีปัญหาเฉพาะนี้:

เว็บเซิร์ฟเวอร์รันกระบวนการเธรดเดียวเท่านั้น ดังนั้นแอปพลิเคชัน PHP จะหยุดทำงานหากคำขอถูกบล็อก

โดยพื้นฐานแล้วเว็บเซิร์ฟเวอร์ทั้งหมดทั่วโลกเป็นแบบมัลติเธรด แต่เซิร์ฟเวอร์ในตัวของ PHP นั้นไม่มีกระดูกเลย มันจะทำให้หายใจไม่ออกหากคุณทำอะไรที่ซับซ้อน

ดังนั้นฉันจะไม่พยายามใช้เซิร์ฟเวอร์ PHP ในตัวเพื่ออะไรนอกจากการทดสอบพื้นฐานที่สุด

apaderno avatar
us flag
ด้วย PHP 7.4 เว็บเซิร์ฟเวอร์ในตัวสามารถกำหนดค่าให้แยกคนงานหลายคนได้ ถึงกระนั้น มันจะไม่ให้ความคิดใด ๆ เกี่ยวกับปัญหาที่ไซต์อาจมีในเซิร์ฟเวอร์ที่ใช้งานจริง
Christoph Burschka avatar
cn flag
โดยเฉพาะอย่างยิ่งสำหรับ Drupal โปรดทราบว่าข้อจำกัดแบบเธรดเดียวจะทำลายการทดสอบเว็บใดๆ ที่คุณดำเนินการผ่านเว็บอินเทอร์เฟซ (CLI นั้นใช้ได้) PHPunit ไม่สามารถเข้าถึงเซิร์ฟเวอร์ในขณะที่เซิร์ฟเวอร์กำลังใช้งาน PHPunit อยู่
Score:3
ธง us

แอปอย่าง DDEV ทำมากกว่าแค่ให้บริการเว็บไซต์ พวกเขายังสามารถจัดการฐานข้อมูลและบริการแคชหรือเพิ่มคำสั่งที่เป็นประโยชน์เพื่อสำรองข้อมูลได้อย่างรวดเร็ว

แต่ด้วยการใช้ Docker พวกเขาจัดการสิ่งเหล่านี้แยกกันฉันสามารถเรียกใช้ PHP 8.0 บนพีซีหลักของฉัน หมุนโครงการ dev โดยใช้ PHP 7.4/MySQL ทดสอบโครงการอื่นใน PHP 8.1/Postgres และแก้ไขคำร้องขอการสนับสนุนเร่งด่วนสำหรับแอป PHP 7.2 รุ่นเก่า

การเล่นกล PHP หลายเวอร์ชัน ส่วนขยาย และบริการสนับสนุนกลายเป็นเรื่องง่ายเหมือนกับ "DDEV start" / "DDEV stop"

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา