--TEST-- Bug #38779 (engine crashes when require()'ing file with syntax error through userspace stream wrapper) --FILE-- data = '<' . "?php \n\"\";ll l\n ?" . '>'; $this->position = 0; return true; } function stream_read($count) { $ret = substr($this->data, $this->position, $count); $this->position += strlen($ret); return $ret; } function stream_eof() { return $this->position >= strlen($this->data); } function stream_flush() { var_dump("flush!"); } function stream_close() { @unlink(__DIR__."/bug38779.txt"); var_dump("close!"); } } stream_wrapper_register('Loader', 'Loader'); $fp = fopen ('Loader://qqq.php', 'r'); $filename = __DIR__."/bug38779.txt"; $fp1 = fopen($filename, "w"); fwrite($fp1, "<"."?php blah blah?".">"); fclose($fp1); include $filename; echo "Done\n"; ?> --CLEAN-- --EXPECTF-- Parse error: %s error%sin %s on line %d string(6) "close!"