ดูภาพเลยละกัน ชัดเจน ชัวร์
อันนี้ include_once แล้วไม่เจอไฟล์
<?php
include_once('some-file.inc');
print 'This is the line next-to Error from including non-exists file.';
?>
อันนี้ผลลัพธ์

ต่อไป require_once แล้วไม่เจอไฟล์
<?php
require_once('some-file.inc');
print 'This is the line next-to Error from including non-exists file.';
?>
นี่คือผลลัพธ์
จะสังเกตุได้ว่า include_once จะยังทำงานบรรทัดต่อไป แต่ require_once จะหยุดทำงานทันทีสังเกตุดูจาก Error ที่แสดงจากการ include และ require ไฟล์ - php จะตรวจสอบจาก path 2 ครั้งคือ ครั้งที่ 1 จะตรวจจาก path ที่เราระบุลงไป ,หากไม่เจอ php จะไปตรวจสอบที่ path ของ pear (สำหรับเครื่องที่ลง pear) หากไม่เจอทั้ง 2 ทีก็จะแสดง Error ขึ้นมาตามภาพ ( สังเกตุดูที่ Error ของ require_once จะพบ php ระบุว่าเป็น fatal error ซึ่งเป็ฯ error ที่บอกว่าสคริปท์จะหยุดทำงาน )
ต่อไปคือการ include ซ้ำ 2 ครั้ง<?php
include('debug.php');
print '<br /><br />';
include('debug.php');
?>
นี่คือผลลัพธ์
*หมายเหตุ - ไฟล์ที่ผมเรียกเข้ามามีอยู่จิงนะคับ เป็นไฟล์เอาไว้ตรวจว่า PHP โหลด MySQL กะ Curl เข้ามารึยัง

ต่อไปคือ include_once 2 ครั้ง
<?php
include_once('debug.php');
print '<br /><br />';
include_once('debug.php');
?>
นี่คือผลลัพธ์
จะสังเกตุได้ว่า การ include ครั้งที่ 2 ไม่ทำงานแล้ว เพราะว่าเราใช้ include_once เพื่อกัน script ทำงานซ้อนกันนั่นเอง