Re: [PHP] MS SQL extension not loading
Hello Richard, I hope you remember my question. Richard Lynch wote: 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 Step #5. Switch to a superior web server: Apache :-) So did I. I replaced the server with a new Windows 2000 server and MS SQL server, I have Apache 2.0.55 with PHP 5.1.2. The only thing I have in php.ini is: extension_dir=C:\PHP\ext extension=php_mssql.dll The php.ini file path was setup with the PHPIniDir directive. I can load other extensions withouth problem. As another example, if I try to use extension=php_curl.dll then I get an error message about libssleay32.dll not found when I try to stop apache. But my main problem is the php_mssql.dll extension. It does not throw any errors, does not log errors into (apache) logfiles, but it is not loaded. Please help me. My boss is killing me because I could not solve this problem for weeks. Thanks, Laszlo -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] MS SQL extension not loading
Hello, Search for file: libssleay32.dll and copy it in windows\system32 folder. The problem will be solved. Laszlo Nagy wrote: Hello Richard, I hope you remember my question. Richard Lynch wote: 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 Step #5. Switch to a superior web server: Apache :-) So did I. I replaced the server with a new Windows 2000 server and MS SQL server, I have Apache 2.0.55 with PHP 5.1.2. The only thing I have in php.ini is: extension_dir=C:\PHP\ext extension=php_mssql.dll The php.ini file path was setup with the PHPIniDir directive. I can load other extensions withouth problem. As another example, if I try to use extension=php_curl.dll then I get an error message about libssleay32.dll not found when I try to stop apache. But my main problem is the php_mssql.dll extension. It does not throw any errors, does not log errors into (apache) logfiles, but it is not loaded. Please help me. My boss is killing me because I could not solve this problem for weeks. Thanks, Laszlo -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] MS SQL extension not loading
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:[EMAIL PROTECTED] Sent: Wednesday, April 12, 2006 4:24 AM To: Laszlo Nagy Cc: php-general@lists.php.net Subject: Re: [PHP] 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
Re: [PHP] MS SQL extension not loading
Tim Huntley írta: Maybe this was already asked, but are you running 64bit Windows Server 2003 on that box? I've heard there's some wonkiness getting PHP and the various extensions to work on 64bit Windows. I'll ask this. c:\windows\system32\logfiles\W3SVC848989038\ Don't ask me why. :-) All IIS logfiles -- be they HTTP, FTP, or whatever -- go under \Windows\System32\LogFiles. The W3S... folder is named based on the site ID from IIS. You are either running multiple webs on that box, or you deleted the default web and recreated it at some point. I do run multiple websites. Thank you for the hint. Laszlo -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] MS SQL extension not loading
Hello Richard, Check the php.ini setting in the top portion to see where php.ini MUST BE for it to be read. It is telling me: Configuration File (php.ini) Path C:\WINDOWS Step #2: Find your php.ini file, and MOVE it to where phpinfo() wants it to be. I have my php.ini at C:\WINDOWS\PHP.ini. Step #3 In php.ini look at the extensions_dir setting. Fix it. extension_dir = C:\PHP\ext which is correct. 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. php_mssql.dll version is 5.1.2.2 PHP version is 5.1.2 Looks okay. If you just went out and found some random mssql_php.dll to throw in the directory, it is NOT going to work. Well, I installed PHP manually, as described in install.txt. The file I have downloaded was php-5.1.2-Win32.zip 9,140,593 bytes It was released on 12 Jan 2006. This is the official latest stable version, and it had all of the extensions packaged together with php.exe. I used the same one on my home computer and it worked. I think this can't be the problem. 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*... Yes, you are right. The event log contains some error entries telling me this: Faulting application w3wp.exe, version 6.0.3790.1830, faulting module unknown, version 0.0.0.0, fault address 0x01b3e8e0. For more information, see Help and Support center at http://go.microsoft.com/fwlink/events.asp The above link contains the text We're sorry There is no additional information about this issue in the Error and Event Log Messages or Knowledge Base databases at this time. You can use the links in the Support area to determine whether any additional information might be available elsewhere. Yes, this is tipical Microsoft. I had to figure out that the logfiles for my website in under c:\windows\system32\logfiles\W3SVC848989038\ Don't ask me why. :-) Unfortunately, the logfile does not help, because it DOES NOT log out php error messages. For example, if I have an error in my php script, this is all I get: 2006-04-11 16:43:04 127.0.0.1 GET /info.php =PHPE9568F34-D428-11d2-A769-00AA001ACF42 9000 - 127.0.0.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+SV1;+.NET+CLR+1.1.4322;+.NET+CLR+2.0.50727) 200 0 0 I'm guessing that you might find an error message about the mssql_php.dll being the wrong version... Hmm. I also tried to load it with the dl() function, but then I got an error: Warning: dl() [function.dl]: Not supported in multithreaded Web servers - use extension=php_mssql in your php.ini in C:\Inetpub\vtracks_server\info.php on line 2 Step #5. Switch to a superior web server: Apache :-) I wish I could. Step #6. Switch to a superior OS like Linux or FreeBSD :-) :-) :-) Yes, I would like to. The problem is that I cannot. I got detailed instructions and my boss wants to run this on IIS6 and Windows. I might be able to ask him to use apache. That would be wonderful. It is strange that I have a test server which is almost the same (Win2003 server, IIS6 and PHP 5.1.2) and it works here. :-/ Thank you for your help. Laszlo -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] MS SQL extension not loading
Maybe this was already asked, but are you running 64bit Windows Server 2003 on that box? I've heard there's some wonkiness getting PHP and the various extensions to work on 64bit Windows. c:\windows\system32\logfiles\W3SVC848989038\ Don't ask me why. :-) All IIS logfiles -- be they HTTP, FTP, or whatever -- go under \Windows\System32\LogFiles. The W3S... folder is named based on the site ID from IIS. You are either running multiple webs on that box, or you deleted the default web and recreated it at some point. I, too, run on the WIMP platform (Windows, IIS, MySQL, PHP). Heh. Tim. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] 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