I am using Windows 7 and php5.6.
php_oci8_12c.dll exists but I could not find it. Other modules are normal.
errorlog:
PHP Warning: PHP Startup: Unable to load dynamic library
'C:/Server/bin/ext\php_oci8_12c.dll' - The specified module could not
be found.\r\n in Unknown on line 0
A bit late, but I faced the issue and found a possible answer just now.
First, Oracle binaries (from instant client 12 x86) must be in the system path.
Second (the most vicious), check which VC++ runtime is needed (on Oracle's download page) for this instant client and install it.
I spent 6 hours on it and finally got it. Even on a Windows 2016 server, VC++ runtimes are not installed by default. It's a real pain to realize that.
Hope this helps
Related
Ok, so i have the same problem.
To fix it i had to install oracle instant client and an NTS dll of oci8_12c
when i start my WAMP i get this error:
[20-Feb-2018 13:40:38 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'd:/wamp64/bin/php/php5.6.31/ext/php_oci8_12c.dll'
in Unknown on line 0
I also added the ext folder and oracle instant client to PATH
PHP version: 5.6.31
Oracle instant client 11.2.0.4.0 x64
NTS x64 php_oci8_12c.dll
I downloaded Visual Studio 2005 (required for the oracle instant client)
I have a 64 bit windows 10 system
What do I do?
EDIT
php.ini
extension=php_oci8_12c.dll without ";"
Thead-safe dll gives the same issue
I enabled oci8 in wamp64 after to do this:
copy oci.dll, oraociei12.dll, and oraons.dll to apache/bin folder.
Reference: https://community.oracle.com/thread/4178182
I hope you solved your problem, I'm posting for the next ones to face this problem.
I finally found, after 4 days, the solution to my problem.
If, after adding to your PATH environment variables the complete path to instant client, e.g: C:\instantclient_{version}
and after restarting your web server (IIS, WAMP, XAMP, etc.) you still get one of those error messages:
There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries
or
PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp64/bin/php/php5.6.38/ext/php_oci8_12c.dll' - The specified procedure cannot be found.
It is because PHP still can't access the files from Instant Client.
To solve that problem, you have to add the complete path to your instant client, but on the System variables, not in the User variables.
That being done, simply restart your web server, and you're done :)
I have a problem. I am trying to query the db2 database with php 7 on Windows. So I have read a lot about connecting to db2 etc, and I have tried a lot of things and still I have the problem.
This is php.ini file:
extension=php_ibm_db2.dll
And this is an error I get every time:
[05-Oct-2017 13:44:55 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_ibm_db2.dll' - The specified module could not be found. in Unknown on line 0
I have tried both versions thread safe and non thread safe, but I can't get it to work.
I have done it with the php version 5.5.38 but I would like to use the latest one.
Additional information:
I am running the windows 10 64bit.
I have downloaded 1.9.9 dll from the pecl library.
I have put it in the php.ini where all the other extensions are and in the following folder described down:
Of course there is the file in the php\ext\php_ibm_db2.dll
I am the administrator, so permissions are full.
Please if you have some solutions tell me.
Thanks in advance.
I have a Windows 2012 R2 server with XAMPP installed. I need to connect to a Microsoft SQL Server database but I saw the mssql-library is no longer supported and I was redirected to the official Microsoft package SqlSrv.
I've unzipped all files to d:\xampp\php\ext and I've added extension=php_pdo_sqlsrv_56_nts.dll in my php.ini.
Using XAMPP's controlpanel I've restarted Apache but it didn't work. I'm always getting the errors:
[20-Apr-2015 08:38:08 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'D:\xampp\php\ext\php_pdo_sqlsrv_56_nts.dll' - The specified module could not be found.
in Unknown on line 0
[20-Apr-2015 08:38:08 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'D:\xampp\php\ext\php_pdo_sqlsrv_56_nts.dll' - The specified module could not be found.
in Unknown on line 0
I've checked a few times to be sure the filename is correct. The file truely exists. All system users have full control over the file (any file in the \ext directory for that matter). It also doesn't matter to switch to a ts or non-pdo variant.
I'm running PHP 5.6.3. Any suggestions? I'm out of ideas to look for the issue...
Update 1:
Via several form posts I came across a C++ Redistributable to install, so I've got that covered. But still I'm missing out on some DLL's according do depends.exe (Dependency Walker).
To this point I'm missing the following DLL's:
API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL
API-MS-WIN-CORE-PRIVATEPROFILE-L1-1-1.DLL
API-MS-WIN-SERVICE-PRIVATE-L1-1-1.DLL
PHP5.DLL
API-MS-WIN-CORE-SHUTDOWN-L1-1-1.DLL
EXT-MS-WIN-NTUSER-UICONTEXT-EXT-L1-1-0.DLL
IESHIMS.DLL
SETTINGSYNCPOLICY.DLL
WLANAPI.DLL
I assume they're part of a package I'm missing. I also saw some posts about installing the latest SQL Server Native Client. But as far as I found the latest version is 11, but is too old for Windows 2012R2.
Update 2:
On this forum page I saw a useful reaction (in German) telling SqlSrv can't work with the latest available XAMPP PHP version. So I've reinstalled XAMPP with PHP 5.5.19 now, but this still didn't help.
How to proceed?
Okay, I've found out what's wrong.
At this moment I'm succesfully running SqlSrv on my Windows 2012R2 machine with XAMPP. The main problem was I was using the *nts.dll files. Using Dependency Walker I was able to get a list of dll's that were not loaded succesfully. One of the DLL's listed there was php5.dll. It took me a while to figure out that would be strange. I've inspectected my php folder and I saw the file php5ts.dll in there, but no php5.dll So I Googled for sqlsrv php5.dll and I came across this page from Microsoft.
That page lists which drivers work with which DLL for PHP. I've switched the modules from nts to ts and now everything is working as expected. At this moment I've also installed the C++ redistributable to fix the MSVCP110.dll issue but I'm not sure if that was mandatory to get it working. If you run into the same issue maybe you'll also have to install this patch (Microsoft downloadpage, I've downloaded VSU_4\vcredist_x86.exe)
Good luck future solution seekers!
Is there a driver for MSSQL Server for PHP (64-bit)?
I have Apache 2.4 (64-bit) environment installed. Also PHP 5.5.12 (64-bit)
I have search for MSSQL Server driver "on the net" for php 64-bit but I found nothing. All I can find is a 32-bit. Also, all the articles that I found were old and nothing recent.
I tried to install the 32-bit driver but I get a warning when executing C:\php>php -m
This is the warning
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\php_sqlsrv_54_ts.dll' - %1 is not a valid Win32 application. in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'ext\php_pdo_sqlsrv_54_ts.dll' - %1 is not a valid Win32 application. in Unknown on line 0
I downloaded the MSSQL Server Driver from Microsoft Drivers 3.0 for PHP for SQL Server
If there a MSSQL Server driver available for PHP 64-bit environment?
If not is there a workaround beside having to go back to 32-bit PHP environment?
I have run into this issue as well. What I have found is that you need to make sure that the extension=php_sqlsrv_54_ts.dll area of your php.ini file is only uncommented on the Apache location of php.ini.
For example:
if you have C:\Webserver\bin\apache\bin\php.ini, you probably have a C:\Webserver\bin\php\php.ini as well. Make sure your extension referrences are ONLY in the ...\apache\bin\php.ini.
It took me 3 hours to realize there were 2 different php.ini files and that the error was throwing because I had the extension initialized in the wrong php.ini file yet it was still looking there for some reason. I hope this helped.
Have you tried updating to php 7 ?
The x64 builds of PHP 5 for Windows are experimental, and do not provide 64-bit integer or large file support. Therefore I doubt MS will release a php5 version of the driver especially since the one for php 7 has been out for a few months now.
This MSSQL driver was release in July of 2016
Download the "SQLSRV40.EXE" from https://www.microsoft.com/en-us/download/details.aspx?id=20098
The executable is a self-extractor, unpack where you want.
You even get the PDO for the same price.
Here are the files in the package
PHP Drivers License Terms.rtf
php_pdo_sqlsrv_7_nts_x64.dll
php_pdo_sqlsrv_7_nts_x86.dll
php_pdo_sqlsrv_7_ts_x64.dll
php_pdo_sqlsrv_7_ts_x86.dll
php_sqlsrv_7_nts_x64.dll
php_sqlsrv_7_nts_x86.dll
php_sqlsrv_7_ts_x64.dll
php_sqlsrv_7_ts_x86.dll
release.txt
SQLSRV_Readme.htm
SQLSRV_ThirdPartyNotices.rtf
Tested with php 7.0, 7.1, 7.2
Okay, I've read the php.net docs, I've browsed numerous sites including stackoverflow for solutions and nothing has helped. So I'm asking, is there anyone who can post a definitive guide for getting enchant to work on Windows?
My set up is:
Windows 7
WAMP Server 2.0
PHP 5.3.0
PHP is located in
C:/wamp/bin/php/php5.3.0
I downloaded the php_enchant.dll from http://downloads.php.net/pierre/php_enchant-1.1.0-5.3-vc9-x86.zip and unzipped its contents. I did as the readme stated and
moved php_enchant.dll into C:/wamp/bin/php/php5.3.0/ext (my
extensions path)
moved all other dll files into C:/wamp/bin/php/php5.3.0
added extension=php_enchant.dll to my php.ini
restarted httpd
For dictionaries, I followed the first answer here PHP: Enchant Spell Checking not working. Configuration in Windows?
I downloaded the correct dictionary zips from Mozilla
I placed them inside of C:/wamp/bin/php/php5.3.0/share/myspell/dicts
After all of this trying to run
enchant_broker_init();
gives a fatal error. I really don't know what else to do. If anyone can give me some advice I'd really appreciate it.
Edit: Okay so my apache error log gives the following error
PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.3.0/ext/php_enchant.dll' - The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.\r\n in Unknown on line 0 <b>Warning</b>: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.3.0/ext/php_enchant.dll' - The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.in <b>Unknown</b> on line <b>0</b>[Wed Mar 05 15:28:02 2014] [notice] Child 6128: Child process is running
Pulling out my hair now.
Do you really mean WAMPServer 2.0?
That enchant was compiled with VC9, check that your PHP and Apache were also compiled with VC9, if not you need an enchant dll that was compiled with the same compiler as your Apache and PHP.
As you have PHP5.3.0 I would guess they are compiled with VC6.
Had the same problem. Add PHP path to Windows PATH variable and restart wampserver.