Pusing begitu, akhirnya bertanyalah ke mbah google, stackoverflow, dll. Disarankan untuk verbosing, aku memasang kode berikut ini:
error_reporting(E_ALL);
ini_set('display_errors', 1);
Dan voila, muncullah si brengsek satu itu "segmentation fault". Wuahhh, langsung deh teringat dengan nostalgia masa kuliah, ketika memprogram dengan bahasa C ^^. Ternyata, segmentation fault itu terjadi akibat PHP kehabisan jatah memori untuk memproses string kode HTML menjadi linked-DOM-object.
Akhirnya diputuskan, kalau ternyata panjang stringnya udah keterlaluan, maka ga usah diparse menjadi linked-DOM-object.
So, kode programnya menjadi seperti ini:
$html_code_str = get_html_code($link);
$html = null;
if (strlen($html_code_str) < 500000) {
$html = str_get_html($html_code_str);
} else {
print "exceed max string length => unprocessed";
}
No comments:
Post a Comment