Bug #79775 [Nab]: Unable to load dynamic library 'php_oci8_12c.dll'
| From: | thomas dot wiedmann at laek-bw dot de | Date: | Wed, 15 Jul 2020 06:07:45 +0000 |
| Subject: | Bug #79775 [Nab]: Unable to load dynamic library 'php_oci8_12c.dll' | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-228054@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=79775&edit=1
ID: 79775
User updated by: thomas dot wiedmann at laek-bw dot de
Reported by: thomas dot wiedmann at laek-bw dot de
Summary: Unable to load dynamic library 'php_oci8_12c.dll'
Status: Not a bug
Type: Bug
Package: Oracle related
Operating System: Windows NT 10.0 build 14393
PHP Version: 7.4.7
Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
Thank you for your help, tips and information. The problem seems to be very specific and is related
to Windows Server 2016. This is a newly set up server. The update file VC_redist.x64.exe I have
installed and repaired in the meantime (several times). The missing api-ms-win-crt-*.dlls are still
missing.
Previous Comments:
------------------------------------------------------------------------
[2020-07-14 13:55:46] phpdev at ehrhardt dot nl
> Die angegebene Prozedur wurde nicht gefunden.
translates to
> The specified procedure could not be found.
Which indicates a too old OCI.dll. Looling at the other comment it is a 11g OCI.dll while
php_oci8_12c.dll requires a 12c OCI.dll.
------------------------------------------------------------------------
[2020-07-14 13:50:36] phpdev at ehrhardt dot nl
>> phpinfo();
>> PDO_OCI is loaded well.
>
>Then the error message should no longer occur.
Not really. php_pdo_oci.dll is fairly tolerant. For instance, it loads OK with a too old OCI.dll,
while php_oci8_12c.dll exits with a missing procedure:
PHP Warning: PHP Startup: Unable to load dynamic library 'oci8_12c' (tried: ext\oci8_12c
(The specified module could not be found.), ext\php_oci8_12c.dll (The specified procedure could not
be found.)) in Unknown on line 0
There seems to be no difference between the PHP- and the PECL-versions, allthough they differ quite
a lot in size (150 KB vs 158 KB).
Anyway, (re)installing the VC++ Redistributable seems at least required: https://aka.ms/vs/16/release/VC_redist.x64.exe
------------------------------------------------------------------------
[2020-07-08 09:59:55] cmb@php.net
> api-ms-win-crt-heap-l1-1-0.dll,NOTFOUND
> api-ms-win-crt-time-l1-1-0.dll,NOTFOUND
> api-ms-win-crt-string-l1-1-0.dll,NOTFOUND
> api-ms-win-crt-runtime-l1-1-0.dll,NOTFOUND
> api-ms-win-crt-stdio-l1-1-0.dll,NOTFOUND
That's strange, because these are needed anyway. You may need to
update the Visual C++ Redistributable for Visual Studio.
Anyhow, I don't think there is a bug regarding PHP/PECL, so you're
better off asking in a support forum. Thanks.
------------------------------------------------------------------------
[2020-07-08 08:56:45] thomas dot wiedmann at laek-bw dot de
Ok, now I have checked these two DLLs with deplister.exe. Both find the OCI.DLL and the error in
Apache error.og still exists.
[1. Test]--------------------------------------------------
deplister ext\php_oci8_11g.dll
C:\Program Files\AERUS\php-7.4.7-Win32-vc15-x64>deplister ext\php_oci8_11g.dll
php7ts.dll,OK
OCI.dll,OK
VCRUNTIME140.dll,OK
api-ms-win-crt-heap-l1-1-0.dll,NOTFOUND
api-ms-win-crt-time-l1-1-0.dll,NOTFOUND
api-ms-win-crt-string-l1-1-0.dll,NOTFOUND
api-ms-win-crt-runtime-l1-1-0.dll,NOTFOUND
api-ms-win-crt-stdio-l1-1-0.dll,NOTFOUND
KERNEL32.dll,OK
[2. Test]--------------------------------------------------
deplister ext\php_oci8_12c.dll
C:\Program Files\AERUS\php-7.4.7-Win32-vc15-x64>deplister ext\php_oci8_12c.dll
php7ts.dll,OK
OCI.dll,OK
VCRUNTIME140.dll,OK
api-ms-win-crt-heap-l1-1-0.dll,NOTFOUND
api-ms-win-crt-time-l1-1-0.dll,NOTFOUND
api-ms-win-crt-string-l1-1-0.dll,NOTFOUND
api-ms-win-crt-runtime-l1-1-0.dll,NOTFOUND
api-ms-win-crt-stdio-l1-1-0.dll,NOTFOUND
KERNEL32.dll,OK
C:\Program Files\AERUS\php-7.4.7-Win32-vc15-x64>dir
[php.ini]------------------------------------
php.ini changed to php_oci8_11g
; 03.07.2020 TW
;extension=php_oci8_12c
extension=php_oci8_11g
[Apache Error.log]------------
PHP Warning: PHP Startup: Failed to load c:/Program
Files/AERUS/php-7.4.7-Win32-vc15-x64/ext\\php_oci8_11g, Das System kann die angegebene Datei nicht
finden.\r\n in Unknown on line 0
[phpinfo]---------------
phpinfo();
don't listed OCI
listed PDO_OCI
------------------------------------------------------------------------
[2020-07-04 00:00:19] sixd@php.net
There are more questions than answers. You are using php_oci8_12c.dll but only have Oracle version
11 in PATH. You may need the correct VS redistributable. There are a bunch of questions/answers
best followed up outside the bug system. Please ask on a forum such as https://www.oracle.com/database/technologies/appdev/php.html
before we investigate as a bug.
------------------------------------------------------------------------
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=79775
--
Edit this bug report at https://bugs.php.net/bug.php?id=79775&edit=1