RE: MS SQL extension not loading

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have experience with loading mysql.dll and other module which unable
to load, even the module is exist on the path.
In my problem, it was solved by put php directory (c:/php) on windows
system variables (Environment Variables), please check Instalation
FAQ(5.14) of PHP Manual.
It look like, required re-start the computer too.
 
Just try it, hopefully it will help

-----Original Message-----
From: Richard Lynch [mailto:ceo@xxxxxxxxx] 
Sent: Wednesday, April 12, 2006 4:24 AM
To: Laszlo Nagy
Cc: php-general@xxxxxxxxxxxxx
Subject: Re:  MS SQL extension not loading

On Tue, April 11, 2006 11:45 am, Laszlo Nagy wrote:
> I have a problem with a Win2003 server, IIS6 and PHP 5.1.2. I have 
> Microsoft SQL Server tools installed. C:\PHP is on the path. Extension

> dirs are configured correctly. The php_mssql.dll is present there.
> Everything looks okay, except that the server does not load the 
> extension. If I do
>
> var_dump(get_loaded_extensions())
>
> then I get this:
>
> array(23) { [0]=> string(6) "bcmath" [1]=> string(8) "calendar" [2]=>
> string(10) "com_dotnet" [3]=> string(5) "ctype" [4]=> string(4) "date"
> [5]=> string(3) "ftp" [6]=> string(5) "iconv" [7]=> string(4) "odbc"
> [8]=> string(4) "pcre" [9]=> string(10) "Reflection" [10]=> string(7) 
> "session" [11]=> string(6) "libxml" [12]=> string(8) "standard" [13]=>
> string(9) "tokenizer" [14]=> string(4) "zlib" [15]=> string(9) 
> "SimpleXML" [16]=> string(3) "dom" [17]=> string(3) "SPL" [18]=>
> string(4) "wddx" [19]=> string(3) "xml" [20]=> string(9) "xmlreader"
> [21]=> string(9) "xmlwriter" [22]=> string(5) "ISAPI" }
>
> What am I doing wrong? Please help me. I was trying for a week and 
> nobody could help me on the hungarian PHP list. I'm lost.

Step #1:
Create and surf to a phpinfo() file:
<?php phpinfo();?>

Check the "php.ini" setting in the top portion to see where php.ini MUST
BE for it to be read.

This directory was set at compile-time, by whomever happened to compile
the php.exe (and dll) that day.

You can't change it ; You have to live with it.
[Actually, in recent Apache versions, you can use an httpd.conf setting
to alter it, but let's not confuse things that are version-specific]

Step #2:
Find your php.ini file, and MOVE it to where phpinfo() wants it to be.

If you have no php.ini file, find the php.ini-dist file, copy it, and
rename it.

Step #3
In php.ini look at the "extensions_dir" setting.
Fix it.


One thing is clear from your output:  You've GOT a lot of extensions
working, so you probably already have all of this correct.

Nevertheless, you follow the first 3 steps because that's just the way
you make SURE you have things set up like you think you have them set
up, even if it all "looks good"...

Step #4.
Compare version numbers of your mssql_php.dll and the version of PHP you
are running.  You CANNOT mix-n-match old DLLs with new PHP and vice
versa.  It will sometimes "work" until you happen to use the one
function that CHANGED between versions.

If you just went out and found some random mssql_php.dll to throw in the
directory, it is NOT going to work.

In recent PHP versions, I think it won't even let you screw this up, as
each module is, I think, tagged with an internal version reference
number and  PHP will reject invalid DLLs.  I think...  But in the old
days, it was a common mistake for folks to install mis-matched DLL
versions and have all kinds of trouble.

Step #4a
Check your log files.  I'm assuming ISS actually HAS logfiles...  It
must have, right?  Might be in system events log.  Might be in an
"error_log" file next to your IIS web traffic logs.  Knowing Microsoft,
it might be *ANYWHERE*...  But, wherever it is, find it, and read it.
If all else fails, you can surf to PHP, and then use Explorer to search
for files changed in the past five minutes.  Or, at least, I think it
will let you search in the past five minutes. 
Yesterday I went looking to do that and could only find files changed in
the past day.  Ugh.
I'm guessing that you might find an error message about the
mssql_php.dll being the wrong version...

Step #5.
Switch to a superior web server: Apache
:-)

Step #6.
Switch to a superior OS like Linux or FreeBSD
:-) :-) :-)

--
Like Music?
http://l-i-e.com/artists.htm

--
PHP General Mailing List (http://www.php.net/) To unsubscribe, visit:
http://www.php.net/unsub.php

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux