tags:

views:

512

answers:

2

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.

A: 

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"
acrosman
That actually breaks things more because I think php appends ext/module.dll to that path.
Kev
A: 

Solved. It turns out that php.exe needs to see the PHP extensions (c:\php\ext) folder in the system PATH.

Kev