I am trying to configure XAMPP for Oracle 11 on my Windows 7 PC.
I followed these steps:
In my php.ini file I uncommented this line: extension=php_oci8_11g.dll
I made sure that dll is in this location: extension_dir="C:\xampp\php\ext"
I restarted my apache and received the following errors (as pop-ups):
The program can’t start because OCI.dll is missing from your computer.
Try reinstalling the program to fix this problem.
Followed by:
PHP Startup: Unable to load dynamic library
‘C:\xampp\php\ext\php_oci8_11g.dll’ – the specified module is not
found.
But I have checked that the file exists in: C:\xampp\php\ext\
So, any idea what the problem is?
Related
I am trying to install Moodle 3.0 on my CentOS 7 server, I got the error message:
"PHP has not been properly configured with the MySQLi extension for it to communicate with MySQL. Please check your php.ini file or recompile PHP".
Opened the php.ini file but not sure exactly what line to change/uncomment. I know on Windows machines the line extension=php_mysqli.dll should be uncommented to fix this. Any help will be appreciated
I have Windows XP and recently I installed wamp (apache-mysql-php) 32-bit.
I tested the installation (connect to mysql database with php and apache) and everything was working fine.
Now i need to connect to an Oracle database so I tried to enable some extensions
related to Oracle and oci8.
And I did:
1) I opened php.ini file and I removed the semicolons before the following lines:
before:
;extension=php_oci8.dll
;extension=php_oci8_11g.dll
after:
extension=php_oci8.dll
extension=php_oci8_11g.dll
2) I restarted apache and all Services and i get a
"PHP StartUp" Warning.
3) In php_error.log file I get:
**PHP Warning: PHP Startup: in Unknown on line 0**
So, i thought that it would be a good idea to check where my extension php folder is
and if those dll files are there.
In php.ini my extension folder is located at:
extension_dir = "C:/wamp/bin/php/php5.4.16/ext/"
The folder exists and both of these libraries (php_oci8.dll php_oci8_11g.dll)
are inside that folder.
4) I added in my 'Path' system variable in Windows the following:
C:\wamp\bin\php\php5.4.16\ext;
5) I copied both of these dll files in Apache's folder but again it didn't work!
C:\wamp\bin\apache\Apache2.4.4\bin
6) Also, I checked the phpinfo page and the only entry I get for "oci8" is the following:
Configure Command
"--with-oci8=C:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8-11g=C:\php-sdk\oracle\instantclient11\sdk,shared"
Hm...the following folders do not exist in my system:
C:\php-sdk\oracle\instantclient10\sdk
C:\php-sdk\oracle\instantclient11\sdk
So, what am I supposed to do next in order to correctly enable the oci8 extensions?
thanks
[SOLVED]
I downloaded the Instant Client Package - Basic (version 10.2.0.5) and I extracted it.
Afterwards I copied all the files of that package in the following folders:
C:/wamp/bin/php/php5.4.16/ext/
C:/wamp/bin/apache/Apache2.4.4/bin
It worked for me in this way.
After that the oci8 module was loaded.
When downloading the instantclient, verify that architecture have installed wamp.
In my case instantclient to download the x64 but had installed the x32 and had problems.
Downloaded the correct architecture and it worked fine.
This is becoming a very frustrating issue. I am trying to do a clean install of apache 2.2 and PHP 5.2.11. Everything seems to be configured correctly but the php modules aren't starting...
PHP Warning: PHP Startup: Unable to load dynamic library '.;C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/ext/php_mcrypt.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '.;C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/ext/php_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '.;C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/ext/php_openssl.dll' - The specified module could not be found.\r\n in Unknown on line 0
in the php.ini
include_path = ".;C:\Program Files (x86)\Apache Software Foundation\Apache2.2\php"
extension_dir = ".;C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/ext/"
All the files are there... The .dll files such as ssleay32.dll, libmcrypt.dll, libmysql.dll, libeay32.dll are all installed at...
C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/
I also included them in the C:\Windows\System32
and even added C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/ to the windows path.
I have no idea why this isn't working and it feels like a no win situation. Anyone have any ideas on how to get this all working ok?
Try this:
extension_dir = "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/ext/"
without starting with the .;
You just uncomment the extension_dir in php.ini
Just for my future self if no-else. This is with PHP 5.2.13 running in Windows on IIS 8.
I got the following error:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files (x86)\PHP\ext\php_openssl.dll' - The specified module could not be found.
From phpinfo() the loaded php.ini file was C:\Program Files (x86)\PHP\php.ini.
The extension directory:
extension_dir ="C:\Program Files (x86)\PHP\ext"
These were the last two lines of the php.ini file:
[PHP_SQLSRV]
extension=php_sqlsrv_52_nts_vc6.dll
[PHP_OPENSSL]
extension=php_openssl.dll
The php_openssl.dll and php_sqlsrv_52_nts_vc6.dll files are in the ext directory. The php_openssl.dll isn't corrupt (it's the same file size as one on another machine that's working).
PHP will find the sqlsrv dll but not the openssl dll. No idea why. No amounts of IIS restarting did anything.
The solution until I know better was to install the openssl.dll extension using the Windows PHP installer. You can re-run the installer and select 'Change' and it allows you to add or remove libraries. I can't see any difference in the file or the php.ini file now, but now the file loads.
I suspect actually that my problem was similar to this comment about OpenSSL installation on Windows:
At this point, when you start Apache it will attempt to load php_openssl.dll, but if your setup is anything like mine you will see an error. I prefer to start Apache manually, and the error appears in a dialog box: "The ordinal 4114 could not be located in the dynamic link library LIBEAY32.dll". (I'm not sure whether you would get this message if you started Apache as a service). The Apache log also contains an error message saying that php_openssl.dll cannot be loaded, though that message doesn't name libeay32.dll. Welcome to DLL Hell.
Libeay32.dll enters the picture because php_openssl.dll depends on it (and also on ssleay32.dll). What I think happens is that Apache first tries to load php_openssl.dll programmatically from the path specified by the extension_dir key. But then, the loading of the so-called dependent DLLs is left to Windows' default mechanism. If Windows finds an incompatible version of a dependent DLL, you get the error.
I noticed errors about ssleay32.dll when trying to run php -i from the command line. I just assumed that it didn't have it in the environment. IIS made no mention of any ssleay32.dll errors in its logs.
Had same errors, but instead of copying files added php folder to system path and restated the server.
Windows 8.1 have a bib problem with system PATH names what cannot editable with the general editor because this line is too long......and for PHP module extension good loading must to define PHP path in the system enviroments.
ONLY one thing helped for me:
https://rix0rrr.github.io/WindowsPathEditor/
Update: The problem appears to have been corrupt DLLs somewhere in my PHP installation, or possibly a bug in PHP 5.2.9 on Win2k. I downloaded the windows (binaries-only) distribution of PHP 5.2.10 from php.net and extracted that to my c:\PHP directory. After doing that, everything worked fine.
Update2: I undid everything that I tried earlier (everything from the bulleted list below), except that I left "extension=php_curl.dll" uncommented in my php.ini file. It turns out that is all you should have to do in a proper installation.
I'm trying to get CURL to work on a Windows installation of PHP (version 5.2.9-2), and I am at wit's end. I have found the PHP CURL installation page, this SO question which references this page, and this SO question. I've tried most of the suggestions in all of those pages but I still get an error. Here is my very simple test page:
<?php
$ch = curl_init();
?>
<b>Success!</b>
This gives me:
Fatal error: Call to undefined function curl_init() in C:\ApacheRoot\curltest.php on line 2
In my Apache error log I get this each time the server starts:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\PHP\\ext\\php_curl.dll' - The specified procedure could not be found.\r\n in Unknown on line 0
I have done the following:
Uncommented the following line in php.ini: extension=php_curl.dll
Copied ssleay32.dll and libeay32.dll from C:\PHP to C:\WINNT\System32
Downloaded cURL for Win32 from curl.haxx.se and extracted the .zip file to C:\cURL
Added C:\cURL to my system PATH environment variable.
Verified that:
php.ini includes extension_dir="C:\PHP\ext"
The directory C:\PHP\ext contains php_curl.dll
The only php.ini file on my system is in C:\PHP (i.e. especially that there is no C:\WINNT\php.ini)
The Apache httpd.conf file includes the line PHPIniDir "C:/PHP/"
I have also rebooted the machine (several times, in fact...).
You don't have to reboot the computer, just restart the apache and the php module will read the new ini.
Did you change the correct php.ini? In case of doubt
<?php echo 'php.ini: ', get_cfg_var('cfg_file_path'); ?>
can tell you.
Is there something in the error.log of the apache that indicates that something went wrong while loading php and the php_curl.dll?
Did you start the apache as a win32 service? If you did try to start it as a console application. Error messages will show up on the console then. Or start it as a service and take a look at the error.log file and the windows event log (start, run, eventvwr.msc /s).
edit:
"The specified procedure could not be found"
You need a dll that is compatible with your php version and build. Exactly what did you install and where did you get it from?
Try this:
Stop WAMP completely.
Find your WAMP folder: C:\Path\To\WAMP\bin\Apache\ApacheVersion\bin\
Edit that php.ini and uncomment extension=php_curl.dll
Restart WAMP.
That should hopefully solve it.
*EDIT: Do the same thing # C:\Path\To\WAMP\bin\php\PHPVersion\
This is what worked for me
Answered by Soren from another SO thread - CURL for WAMP
"There seems to be a bug somewhere. If you are experiencing this on Win 7 64 bit then try installing apache addon version 2.2.9 and php addon version 5.3.1 and switching to those in WAMP and then activating the CURL extension. That worked for me."
This fixed it for me:
Go to here:
http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/
Download 'php_curl-5.3.13-VC9-x64.zip'
Stop WAMP Server from Running
Extract the file 'php_curl.dll'.
On your local machine, browse to (or where your WAMP installation is found) c:\wamp\bin\php\php5.3.13\ext
Rename php_curl.dll to php_curl.dll.old (or whatever you choose) and then copy the new file into the above directory.
Restart WAMP Server
All should be working ok now.
I had the same problem with php-5.5.26-Win32-VC11-x64 (on Windows) and I tried everything listed here with no luck. Finally I got it working by adding PHP installation directory to windows Path.
With PHP 5.6.9 on Windows Server Core 2012 x64 cURL was not working, not showing up in phpinfo despite uncommenting php_curl.dll extension in my php.ini and restarting the Apache 2.4 service. Added the php path and the php\ext path to my $evn:path. No joy.
Fix: I didn’t need to download any other php_curl.dll file and couldn’t find one for PHP 5.6 anyway. What finally worked was to copy these three files into the Apache24\bin folder then restart Apache:
libeay32.dll
libssh2.dll
ssleay32.dll
Copying these to System or System32 was not needed.
If the problem persists after you uncomment the module from both php.ini files (that people are already talking about and which are located on apache folder and php folder) and even after you check that you got the php_curl.dll ** at
C:\WAMP\bin\php\php5.3.13\ext
YOU SHOULD TRY TO REPLACE THE ORIGINAL DLL THAT COMES WITH WAMPSERVER with one from this website:
http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/
My problem was there!
Hope it helps.
I'm trying to do a system wide install of PEAR on my web server. When I execute go-pear.bat in the PHP installation folder from the command line I get the following error windows popping up:
---------------------------
php.exe - Unable To Locate Component
---------------------------
This application has failed to start because php_mbstring.dll was not found.
Re-installing the application may fix this problem.
---------------------------
php.exe - Unable To Locate Component
---------------------------
This application has failed to start because php_pdo.dll was not found.
Re-installing the application may fix this problem.
I also see the following warnings emitted in the command line window by the script:
PHP Warning: PHP Startup: Unable to load dynamic library './ext/php_exif.dll' - The specified modul
e could not be found.
in Unknown on line 0
All of these modules are configured in the php.ini file (which resides in the php install folder c:\php).
They are also reported correctly by php_info().
I'm running PHP 5.2.6 Windows Non thread safe build on FastCGI on IIS6.
Update:
I've also tried (as suggested by acrosman) setting extension_dir=c:\php and extension_dir=c:\php\ext but without success.
I'm also remembering to kill the php-cgi.exe process (FastCGI keeps it alive) after each php.ini modification to force a re-read.
Update 2:
This looks like a PHP issue and not an issue with PEAR, running php.exe from the command line generates the same errors.
Solved. It turns out that php.exe needs to see the PHP extensions (c:\php\ext) folder in the system PATH.
Check to make you that the extension directory is properly set in you php.ini file. I suspect that it's set as being a relative path, and that setting is causing problems when running from the command line:
extension_dir ="C:\PHP\ext"