Bug #79557 [PATCH]: extension_dir = "./ext" now use current directory for base
| From: | cmb@php.net | Date: | Mon, 04 May 2020 12:58:27 +0000 |
| Subject: | Bug #79557 [PATCH]: extension_dir = "./ext" now use current directory for base | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-226904@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=79557&edit=1
ID: 79557
Patch added by: cmb@php.net
Reported by: laurinkeithdavis at gmail dot com
Summary: extension_dir = "./ext" now use current directory
for base
Status: Analyzed
Type: Bug
Package: Dynamic loading
Operating System: Windows
PHP Version: 7.4.5
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
The following pull request has been associated:
Patch Name: Fix #79557: extension_dir = ./ext now use current directory for base
On GitHub: https://github.com/php/php-src/pull/5523
Patch: https://github.com/php/php-src/pull/5523.patch
Previous Comments:
------------------------------------------------------------------------
[2020-05-04 12:45:24] cmb@php.net
As of PHP 7.4.0, PHP checks for the linker version of extension
DLLs, using ImageLoad(). For some reason, that function fails to
load images if the path starts with ./ or .\.
------------------------------------------------------------------------
[2020-05-04 11:29:51] laurinkeithdavis at gmail dot com
Interesting. I looked through the source and it appears that the patch added for the previous bug
still exists, but I don't know C well enough to understand how "ext" would be treated
differently from "./ext".
------------------------------------------------------------------------
[2020-05-04 09:01:50] cmb@php.net
I can confirm the reported behavior. Using "ext" instead of
"./ext" works, though.
------------------------------------------------------------------------
[2020-05-02 15:38:19] laurinkeithdavis at gmail dot com
Description:
------------
7.4 on Windows, the issue of the working directory being used instead of the base directory appears
to be happening again.
Same as: https://bugs.php.net/bug.php?id=74866
Test script:
---------------
php.ini for both has this setting.
extension_dir = "./ext/"
7.4:
c:\jenkins-php-tools>C:\PHP\php.exe -cc:/PHP/devrc/php.ini
7.3.16:
c:\jenkins-php-tools>C:\PHP\php.exe -cc:/PHP/devrc/php.ini
Expected result:
----------------
(loads, no errors)
Actual result:
--------------
7.4:
Warning: PHP Startup: Failed to load ./ext/php_curl.dll, The system cannot find the file specified.
in Unknown on line 0
Warning: PHP Startup: Failed to load ./ext/php_fileinfo.dll, The system cannot find the file
specified.
in Unknown on line 0
Warning: PHP Startup: Failed to load ./ext/php_gd2.dll, The system cannot find the file specified.
in Unknown on line 0
7.3:
No errors
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=79557&edit=1