Bug #74900 [Opn->Fbk]: Random file not found on multiple processes
Edit report at https://bugs.php.net/bug.php?id=74900&edit=1
ID: 74900
Updated by: ab@php.net
Reported by: falk dot aaron85 at gmail dot com
Summary: Random file not found on multiple processes
-Status: Open
+Status: Feedback
Type: Bug
Package: *Directory/Filesystem functions
Operating System: Windows Server 2012 R2
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Some questions yet
- do you run php as an elevated user?
- do you create symlinks with php, or if not - what is the exact mklink or junction command line?
- what are the ACLs on the symlink and on the file (use icacls)?
Thanks.
Previous Comments:
------------------------------------------------------------------------
[2017-07-14 13:50:52] falk dot aaron85 at gmail dot com
I found out that this problem does only occurs if in the path of the file to read is a symbolic link
(/D or /J) inside.
Without symbolic links, I am not able to reproduce the issue.
Could you please try it with the use of symbolic link(s) in the path of the file to read?
------------------------------------------------------------------------
[2017-07-12 16:57:22] falk dot aaron85 at gmail dot com
Tried it with 7.0.14RC1 on Windows 10 and cannot reproduce it.
------------------------------------------------------------------------
[2017-07-12 16:52:52] ab@php.net
Ok, lets see. Perhaps someone else has better luck reproducing this of finding a better reproducer.
Thanks.
------------------------------------------------------------------------
[2017-07-12 16:41:05] falk dot aaron85 at gmail dot com
I tried it on 3 different windows machines with php 5.5, 5.6, 7.0 and 7.1. It can reproduce it on
all systems with all php versions.
Randomly the file_get_contents gets the error failes to open stream: no such file or directory...
------------------------------------------------------------------------
[2017-07-12 16:21:44] ab@php.net
Still no luck. I've changed your code to a bit shorter version
<?php
ini_set('display_errors', 1);
error_reporting( E_ALL );
$path = 'C:\path\to\file';
for ($i = 0; $i < 100; $i++) {
if (!file_exists($path)) {
die("Doesn't exist");
}
if (!file_get_contents($path)) {
die("No content");
}
}
echo "all clean";
and used up to 32 processes, but all i get is "all clean" outputs. You told you've
used other PHP versions, have you tried latest versions or just some? Also, does this reproduce on
another machine?
Thanks.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=74900
--
Edit this bug report at https://bugs.php.net/bug.php?id=74900&edit=1
Thread (10 messages)