The problem follows the PHP Startup: Unable to load dynamic library.

PHP Startup: Unable to load dynamic library. (tried:. This is a relatively common problem.
of course, only the case where the relevant extension is enabled in the guaranteed php.ini and the corresponding .dll file does exist in the load directory is discussed here.

I personally met "pdo_firebird"" and "pdo_oci".

D:\Tool\php\php-7.2.7-Win32-VC15-x64>php

Warning: PHP Startup: Unable to load dynamic library "pdo_firebird" (tried: D:\Tool\php\php-7.2.7-Win32-VC15-x64\ext\pdo_firebird (), D:\Tool\php\php-7.2.7-Win32-VC15-x64\ext\php_pdo_firebird.dll ()) in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library "pdo_oci" (tried: D:\Tool\php\php-7.2.7-Win32-VC15-x64\ext\pdo_oci (), D:\Tool\php\php-7.2.7-Win32-VC15-x64\ext\php_pdo_oci.dll ()) in Unknown on line 0

yesterday there was no wrong report, but today I began to report it wrong. no, no, no. It"s no use reinstalling php.

the former can be solved by adding a fbclient.dll to the php home directory as described in
PHP Startup: Unable to load dynamic library php_pdo_firebird.dll: The Official Microsoft IIS Forums
.
actual testing does eliminate errors, but you only need to download the version of firebird.
corresponding to php, but the problem is that the fbclient.dll can work without this fbclient.dll in the home directory of php. So this is some kind of workaround remedy (it may even just prevent php from reporting an error).

as for the latter, according to
PHP unable to load dynamic library" php_pdo_oci.dll "- Stack Overflow
, you need to install Oracle Instant Client.
(Oracle official website requires registration to download. Registration is basically required. Unable to log in after successful registration, it took a long time for Synchronize to log in. ).
the actual measurement is valid. But exactly which of these components is needed is unknown.

other methods, such as adding the ext directory to the environment variable, have been tried and have no effect.

I would very much like to know:
1. How to really solve these two problems?
2. Do you have any practical experience on how to solve the problem of similar extension load failure?
3. What is the reason for this to happen?
Why are system .dll files or even runtime components missing?
(I have not visited dangerous websites from yesterday to today, and I have not found any other suspected poisoning except php error)

welcome your comments and ideas.

Php
Mar.24,2021

the problem belongs to the environment configuration, and the basic knowledge point is the running mechanism of the program. To solve the problem thoroughly, we can start from two aspects: 1. What is the function of dynamic link libraries? 2. How does PHP load dynamic link libraries? If we understand these two problems, the questions will be easily solved.

it is recommended that you use the commands php-I | findstr ext and php-m to check the configuration / extension loading, and try loading the extension using the absolute path in php.ini .


The

error message indicates that the corresponding library cannot be loaded, so the problem may be that the file cannot be found or cannot be used properly. This problem often occurs under windows (because it is usually compiled and installed under linux, and revenge was avenged at that time).

then this problem cannot be caused by misconfiguration of extension_dir or that dll is dependent on the environment, such as VC2015 or some dll, that depends on the database, and these dll must be installed before entering the global environment

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1eacba7-47eb4.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1eacba7-47eb4.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?