|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2019-08-05 16:00 UTC] cmb@php.net
-Status: Open
+Status: Verified
[2019-08-05 16:00 UTC] cmb@php.net
[2019-08-05 17:15 UTC] cmb@php.net
-Type: Bug
+Type: Documentation Problem
[2019-08-05 17:15 UTC] cmb@php.net
[2019-08-06 14:21 UTC] mail at ciaranmcnulty dot com
[2019-08-08 08:20 UTC] nikic@php.net
[2019-10-01 14:54 UTC] mail at ciaranmcnulty dot com
[2020-01-08 14:52 UTC] bkfake-php at yahoo dot com
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 06:00:01 2025 UTC |
Description: ------------ Any `require` that is done through a protocol with a wrapper, now calls `stream_set_option` on the stream wrapper. Because a stream wrapper doesn't have an interface, a class could not yet implement this method and therefore cause a fatal error. The option being set is not one of the listed constants (STREAM_OPTION_BLOCKING, STREAM_OPTION_READ_TIMEOUT, STREAM_OPTION_WRITE_BUFFER), rather it is integer 2 Test script: --------------- class StreamWrapper { public function stream_open($path, $mode, $options, &$opened_path) { return true; } public function stream_stat() { return stat(__FILE__); } public function stream_read($count) { return ''; } public function stream_eof() { return true; } } stream_wrapper_register('test', StreamWrapper::class); require_once('test://foo'); Expected result: ---------------- No output Actual result: -------------- Warning: require_once(): StreamWrapper::stream_set_option is not implemented!