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