Edit report at https://bugs.php.net/bug.php?id=80258&edit=1
ID: 80258
User updated by: josh dot manchester at dirxion dot com
Reported by: josh dot manchester at dirxion dot com
Summary: Windows Deduplication Enabled, seeing randon
permission errors
Status: Assigned
Type: Bug
Package: SQLite related
Operating System: Windows 2016 Standard
PHP Version: 7.4.11
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
I will see if I can work with our internal developers to make a new build. Typically I just download
your precompiled builds.
Once I get a test build I also have to break an environment again as my original 2 problem servers
had Deduplication disabled during my testing.
Previous Comments:
------------------------------------------------------------------------
[2020-10-19 15:47:52] cmb@php.net
The following pull request has been associated:
Patch Name: Fix #80258: Windows Deduplication Enabled, randon permission errors
On GitHub: https://github.com/php/php-src/pull/6354
Patch: https://github.com/php/php-src/pull/6354.patch
------------------------------------------------------------------------
[2020-10-19 15:06:08] cmb@php.net
Fiddling with the open_basedir setting is unlikely to change
anything. More likely, the problem is that the code now basically
tries to open C:\System Volume Information, which is an
inaccessible system folder. I'll work out a patch.
Would you be able to build a custom PHP for testing purposes?
------------------------------------------------------------------------
[2020-10-19 14:20:26] cmb@php.net
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>
------------------------------------------------------------------------
[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