Bug #79470 [PATCH]: PHP incompatible with 3rd party file system on demand
| From: | cmb@php.net | Date: | Mon, 13 Apr 2020 14:00:06 +0000 |
| Subject: | Bug #79470 [PATCH]: PHP incompatible with 3rd party file system on demand | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-226555@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=79470&edit=1
ID: 79470
Patch added by: cmb@php.net
Reported by: gilbertjgonzales at gmail dot com
Summary: PHP incompatible with 3rd party file system on
demand
Status: Feedback
Type: Bug
Package: *Directory/Filesystem functions
Operating System: Windows 10
PHP Version: 7.3Git-2020-04-13 (Git)
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
The following pull request has been associated:
Patch Name: Fixed bug #79470: PHP incompatible with 3rd party file system on demand
On GitHub: https://github.com/php/php-src/pull/5379
Patch: https://github.com/php/php-src/pull/5379.patch
Previous Comments:
------------------------------------------------------------------------
[2020-04-13 09:57:56] cmb@php.net
Thanks for reporting! Likely hard to debug without actually
having access to such file system.
Anyhow, are you using a self-compiled PHP, or an official build
(from windows.php.net)? If the latter, what's the exact version
and variant (file name)? Also what is the exact Windows version
and build number (like shown by
winver)?
------------------------------------------------------------------------
[2020-04-13 07:07:58] gilbertjgonzales at gmail dot com
Description:
------------
Similar to bug https://bugs.php.net/bug.php?id=75384 which
affected OneDrive, 3rd party file systems that use Reparse Tags are failing to open files for files
that are fetched "On Demand." Currently any third party file system using Reparse Tags
will fail unless added explicitly for handling in PHP ( such as the OneDrive bugfix 75384 ).
Test script:
---------------
1) Use 3rd party file system ( such as one created by company X ) using custom Reparse Tag
2) Store files using third party file system with "Fetch On Demand" feature implemented
via custom Reparse Tag
Then in folder mapped to third party file system, create 2 files
Foo.php
<?php
require 'Bar.php';
Bar.php
<?php
echo 'Require worked';
Then run php Foo.php
Expected result:
----------------
See "Require worked" output to the screen
Actual result:
--------------
PHP Warning: require(Bar.php): failed to open stream: No such file or directory
in Foo.php on line 2
Warning: require(Bar.php): failed to open stream: No such file or directory in F
oo.php on line 2
PHP Fatal error: require(): Failed opening required 'Bar.php' (include_path='.;
C:\php\pear') in Foo.php on line 2
Fatal error: require(): Failed opening required 'Bar.php' (include_path='.;C:\ph
p\pear') in Foo.php on line 2
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=79470&edit=1