Bug #80258 [Opn->Fbk]: Windows Deduplication Enabled, seeing randon permission errors

From: Date: Mon, 19 Oct 2020 14:20:26 +0000
Subject: Bug #80258 [Opn->Fbk]: Windows Deduplication Enabled, seeing randon permission errors
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-229756@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80258&edit=1

 ID:                 80258
 Updated by:         cmb@php.net
 Reported by:        josh dot manchester at dirxion dot com
 Summary:            Windows Deduplication Enabled, seeing randon
                     permission errors
-Status:             Open
+Status:             Feedback
 Type:               Bug
 Package:            SQLite related
 Operating System:   Windows 2016 Standard
 PHP Version:        7.4.11
-Assigned To:        
+Assigned To:        cmb
 Block user comment: N
 Private report:     N

 New Comment:

Thanks for reporting!

I don't have a machine at hand where I could turn on
deduplication, but I suspect that this regression has been
introduced by fixing bug #79806[1].  Could you please check
whether adding "C:\System Volume Information" (or just C:\ for
quick testing) would solve the open_basedir issue, and that
everything with that SQLite3 database works like before?

[1] <http://git.php.net/?p=php-src.git;a=commit;h=d5b59b4303642adac91df2c93969a72bc0f5fa7d>


Previous Comments:
------------------------------------------------------------------------
[2020-10-19 13:14:10] josh dot manchester at dirxion dot com

Description:
------------
We have Windows deduplication enabled on our 2016 servers for several years but I think we found
something out of whack with the latest PHP version. I originally upgraded from 7.4.7 to 7.4.11, when
I had problems I then attempted to downgrade to 7.4.10 and the problem remained, but with 7.4.9 I
have no issues.  While our primary web product had some 'Unable to find resource' type
errors loading, the simplest example I can provide is our health check script that we have setup for
testing Database connectivity.  On versions 7.4.11 and 7.4.10 the SQLite check fails with the error
I provided under Actual Result. 


I am using the Windows PHP NTS build as provided on your site. I tested this on 2 servers, and each
server would start to work if I either downgraded to php 7.4.9, or disabled Deduplication and ran
the powershell script to unoptimize all the files. 

Test script:
---------------
<?php
	include 'includes/autoload.php';

	//SQLite
	$db_path = 'abb20htm.db3';
	$db = new PDO('sqlite:'.$db_path);//connection
	$bookdb3_class = new BookDb3($db);
	$sgt = '3';//res
	$row = $bookdb3_class->getFirstPageLabel($sgt)->getResults();
	//$bookdb3_class->printOut();
	//print_r($row);
	$pageLabel = $row['PageLabel'];
	if ($pageLabel == '1')
		echo 'SQLite test succeeded';
	else
		echo 'SQLite test failed';
	echo '<br>';

?>

Expected result:
----------------
Via a browser, we expect to see...

SQLite test succeeded

Actual result:
--------------
Note: My original health check script had some MySQL and MSSQL health checks that I removed in my
example, so line 39 is no longer accurate.

Fatal error: Uncaught PDOException: open_basedir prohibits opening abb20htm.db3 in
F:\Sites\ITMonitors\dbtests\default.php:39 Stack trace: #0
F:\Sites\ITMonitors\dbtests\default.php(39): PDO->__construct('sqlite:abb20htm...') #1
{main} thrown in F:\Sites\ITMonitors\dbtests\default.php on line 39  



------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=80258&edit=1


Thread (12 messages)

« previous php.bugs (#229756) next »