![]() |
![]() |
|
Current Projects: PHP on XP Guide — NFO Viewer — Easy Reflections — Photon Storm — HotWire — FileGlider
Wednesday, April 11. 2007A Guide to using PHP 5 Extensions on WindowsTrackbacks
Trackback specific URI for this entry
No Trackbacks
Comments
Display comments as
(Linear | Threaded)
The php_oci8.dll and php_pdo_oci.dll extensions require Oracle 10g client libraries. You can get the Oracle Instant Client (it's free) if your current libraries are older.
The php_pdo_oci8.dll extension is built to work with Oracle 8+ client libraries.
The php_oracle.dll extension is deprecated.
Thanks, I have updated the article to include your information. I didn't mention php_oracle.dll because it isn't included in the core 5.2.1 Win32 release, only in the PECL 5.2.1 zip (along with most other deprecated DLLs).
Do you mean that I can use the deprecated extensions in PHP 5.2.1. using PECL 5.2.1 zip, or definitely i can't use no more php_oracle.dll, and i must migrate to oci8?
#1.1.1
on
2007-07-04 17:54
You rock!
Thanks so much for posting this info. It helped me repair my installation in less than 5 minutes.
#1.1.2
on
2008-02-21 14:02
Excellent work!
What about php_pdf.dll and php_cpdf.dll?
#2
on
2007-04-13 07:55
I didn't cover those DLLs because they are not in the core PHP distribution, but if you want to tell me where to get them I can check them out.
Don't forget about us "PHP on IIS" guys.
#4
on
2007-04-13 21:41
The DLL requirements should be exactly the same for IIS, and I bet the Path environment variable is just as vital too.
yes , Don't forget about us "PHP on IIS"
I want to know , How to work php on ISS
I think that necessarily
I must put php.ini on window system dir.
please where you can send me a post ,, thanks !!!!!
#4.2
on
2007-08-31 00:30
Thanks this is a very well presented article. I thought it was going to solve my problems especially adding PHP to the PATH enviromental variable, but unfortunately I'm having some teething issues which alhough dont stop me running PHP5 are very frustrating!
I'm running Apache/2.0.59 (Win32) PHP/5.2.1 on XP Pro. I can run PHP under localhost fine (except I never get any error messages despite having the relevant ERROR variables set) However, when i try and run the php.exe or php_win.exe it complains of missing .dlls. for Informix and Oracle amongst others which I have commented out in php.ini.
i run the php_info() script and it tells me that
Configuration File (php.ini) Path = C:\Program Files\PHP\php.ini.
It appears that whatever i do to php.ini is not being picked up I have even gone as far as deleting php.ini from C:\Program Files\PHP yet after I restart Apache, PHP is still working!?
Please tell me I'm doing something stupid and how do i resolve this, is it something to do with the hpptd.config?
Many thanks
Simon
#5
on
2007-05-16 10:06
Why are you trying to run php.exe / php_win.exe ? If you are using Apache installed locally, you should really be using the Apache Module version of PHP (which isn't php.exe).
PHP has an in-built INI file, so if it can't ever find one, it has a bunch of default values to assume - which is what is happening here. Deleting the INI file will trigger this off.
How is your httpd.conf set?
Thanks for the reply Richard.
The reason I was using *.exe was the freeware php editor that i found (PHP designer) asked me to point at it to use its debugging tool.
I seem to be in a stituation that if i remove php.ini from C:\Windows (I have now set httpd.conf :PHPIniDir "C:\WINDOWS\") then I dont get the problems of the editor complaining about missing libraries and I get php compile error messages displayed on localhost, however I can't add extra extensions primarily mysqli and as I'm trying to develop a database application then thats not very pratical!
If i do place php.ini in C:\Windows then I can access mysqli but I get the editor complaining about the missing libraries and more of an issue I do not get any error messages displayed from the php compiler even though error_reporting = E_ALL.
This is my first go at running my own server, I'm finding the power of PHP most impressive, but the configuration issues a tad annoying! but i guess i'm learning .... (slowly)
I've looked through the PHP Manual and it lists the places where Apache looks for the ini file and I've checked that there isn't a copy anywhere under Apache group.
I thought I found the answer as there was a copy of php.ini under C:\ where the extra libraries were being installed but after removing that I'm still experiencing the same problems! I even went as far as adding a registry key HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath to point to C:\WINDOWS but still no joy! :o(
any extra pointers will be greatly appreciated
Simon
#5.1.1
on
2007-05-17 11:16
I'm in the the final stages of preparing a comprehensive guide to setting up PHP 4 and 5 on Windows XP, which I will host on my blog. I should have this ready today, so please check back later.
I look forward to reading your article Richard.
For the record (as I know there is nothing more frustrating when are you doing a search and you find your problem but not the solution) I have solved my problems.
Firstly, http.conf did not have its Windows directory escaped;
i.e. PHPIniDir "C:\WINDOWS\"
rather than PHPIniDir "C:\\WINDOWS\\",
Secondly, after doing a search of my entire C: drive i found a copy of php.ini in /PHP where error reporting is not set.
thanks for your help
Simon
#6
on
2007-05-17 13:11
If you had used forward-slashes you wouldn't need to escape the path:
PHPIniDir "C:/Windows/"
:)
The guide is nearly ready, uploading in the next hour.
Richard, before even going to loading extensions, i am really struggling to get Php 5 running. i was advised to load on apache 2.0.59 server, i have tried to run the phpinfo() file on local host to no avail.
I am not a fundi on this technology but i want to be able to update webpages then host them with our ISP, than to leave everything to be done by the service provider.
#7
on
2007-06-08 12:02
All I can suggest at this point is that you follow the guide I wrote here: http://wamp.corephp.co.uk - because it will cover the entire set-up process in extreme detail, and then you're in a position to worry about which extensions you want loaded.
I was having problems enabling php_ldap. It turns out that I had the wrong versions of libeay32.dll and ssleay32.dll in c:\windows\system32\
Recommend you make sure you have the right versions, I used the ones that came with the php source.
I just want to give a BIG thumbs up for this page. Had been ripping my hair of for php_exif and when I moved the mb_string before it, voila!
Thanks a bundle. If you're ever in Stockholm I'll buy you a beer. ;-)
I have some problem with php5.
We have many pages and uses php4 really good, from yesterday we need to change our server for make new pages and use php5, mysql 5.51 and apache 2.2.8.
Our phpMyAdmin function very well, our MySQL too, but when we try to connect with our connect.inc.php in any web page, we can't and receive this message:
Warning: mysql_query(): Access denied for user 'root@'localhost' (using password:NO) in ......
I review your doc Richard and change my PHP.ini but we have the same trouble.
If you or any boda can help us, we apreciate and thanks a lot for thats.
If same me some e-mail, i can send you my php.ini and my php.info page.
Thanks a lot.
I am trying to configure php 5.2.6 and apache 2.2.9 on xp-pro. I have set the extension_dir and extension=php_pgsql.dll (I am using the default install with msi. I have checked the path and it seems to be correct. I have reviewed the post in this article. However ii keep getting the following:
PHP Startup: Unable to load dynamic library 'C:\\Program Files\\PHP\\ext\\php_pgsql.dll' - The specified module could not be found.\r\n in Unknown on line 0
I have changed the \ slashes to / and it made no difference. I am really baffled here can anyone help?
Is that the postgres driver? If so you need the postgress DLL copied to the PHP extensions folder as well, I would imagine this can be found in the postgres install directory after installing it (much like you can find the mysql one there for MySQL)
The ext directory is created and the file is there php_pgsql.dll and the path specified is correct. I have tried all the suggested fixes. No help still the same problem. Also I have only 1 extension specified the postgres one.
Thanks,
f.k.
Well i installed the extension for mysql just to see what if anything would change. Well it loads no problem. I conclude the path is set ok and the phprc variable is ok . However i am still very confused by this anyone have an idea?
fred
php_pgsql.dll is just a wrapper for the core Postgres DLL, it needs that as well. Because MySQL is so tightly linked (historically) with PHP you'll find that DLL already included in the distro. Not so the case with Postgres.
ok - I get it I think. I should get the core postgresql dll and put it in some place like system32? Actually I am trying to configure a php - postgresql development site which will work for me on either linux or windows. Maybe I just install postgresql on the box but i really just want to connect remotely via php.
Thanks.
Thanks, I have it working now! I installed postgresql and enterprise apache+php it worked like a top. So I compared php_pgsql.dll in both versions the one from the enterprise install was much larger so i tried it in the later ext directory. It loaded and executed a test program to connect and display some data from a remote server.
I could not be declaring victory now without your knowledge of how this system apache+php+... fits together. Thanks so much for you kindness.
fred
ps. I owe you a beer if you are ever in Pittsburgh look me up I work at my email address and will be glad to pay:-)
cheers
fred
I still didn't get it.
Just re-installed apache 2.2.10, php 5.2.6 & installed postgresql 8.3 but it still keeps saying "unable to load dynamic library ...php_pgsql.dll".
All other extensions are loaded fine.
What exactly do you mean with "enterprise apache+php"?
Cheers,
Sascha
#11.1.2.1.2.1
on
2008-10-17 19:46
I had the same problem. I copied all dll files from posgresql installation directory to the PHP installation directory (from c:\programm files\postgresql\8.3\bin to c:\program files\php). Then I restarted apache and problem has solved.
#11.1.2.1.2.1.1
on
2008-11-25 11:11
Had the same issue with php_pgsql.dll not loading (running PostgreSQL 8.3, Apache 2.2, and PHP 5.2.8 on Windows Server 2003). Based on Sascha's fix above, I achieved a similar fix. However, instead of copying the files from the PostgreSQL bin directory to the PHP directory, I added both C:\Program Files\PostgreSQL\8.3\bin and C:\Program Files\PostgreSQL\8.3\lib to the Environment Variables Path (a la step 1.2 in the guide above).
Thanks so much for this guide and to all the PostgreSQL users for posting your similar errors. Not sure how I would have figured this out without this page and comment thread, but now it is all working. Sweet...
#11.1.2.1.2.1.2
on
2009-06-03 04:47
I've installed apache 2.2.9, php 5.2.6 and postgres 8.2.9, but i'm still getting message : PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\server\\php\\ext\\php_pgsql.dll' - The specified module could not be found.\r\n in Unknown on line 0.
I have tried the suggested fixes, but i still can make it work..
What exactly have you done to face that problem?
i really need your help...
Thanks
#11.1.2.1.2.2
on
2008-10-18 23:35
Getting the following error with PHP 5.2.6 on windows 2003 / IIS 6.0 when trying to load php_ldap.dll
PHP Warning: PHP Startup: ldap: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=1
PHP compiled with module API=20060613, debug=0, thread-safety=1
These options need to match
in Unknown on line 0
Have tried most suggestions and it does not work?
What do I need to do to recompile or where do I get the correct version dlls?
#12
on
2008-11-26 21:46
I also had many problems setting my PHPIniDir = c:/php in httpd.conf and not defaulting to C:\WINDOWS. I got all the foward slashes correct and checked the c:/php/ext for the php_gd2.dll which I was trying to load. In the end I realized the http.conf file cannot accept begin and end double quotes as entered in Word or HTML docs and needs a simple ascii double quote ". I got into trouble as I copied the PHPIniDir = "C:/php" from another website and pasted it into my file. Hope this helps someone else.....mark.
#13
on
2009-03-16 02:07
The author does not allow comments to this entry
|
My AS3 Blog
Photon Storm Great PHP links
C7Y PHP Podcast CorePHP is hosted by |