Re: mssql_connect error only on command line

From: Date: Wed, 02 Apr 2008 13:53:28 +0000
Subject: Re: mssql_connect error only on command line
References: 1 2 3 4 5  Groups: php.db 
Request: Send a blank email to php-db+get-44854@lists.php.net to get a copy of this message
Hi again! Allright, great! You see that user manuals can be very useful if they just are read carefully enough! :) The user contributions to the PHP manual are very often quite informative and it's great that people document the problems and solutions. I think you're quite near the truth here about the version thing and how CLI and Apache loads the dll:s. Maybe that's something that can be configured, but you probably made the best solution to replace the old file. Cheers, Krister Karlström, Helsinki, Finland Molteni Davide wrote:
Hi, I red the http://www.php.net/manual/en/function.mssql-connect.php in a more accurate manner, and I found an user contribution note suggesting to substitute the ntwdblib.dll with a newer one. The version of the old (original from the PHP v5.2.5 installation) is 2000.2.8.0 and the newer version I found on the same machine is 2000.80.2039.0. Now it works fine. Maybe the differt behaviour between the php CLI (command line interface) and apache is that the cli search the dll in the installation folder and apache search in the windows system folder. Thanks for the big help. Regards. Davide 2008/4/2, Krister Karlström <krister.karlstrom@arcada.fi>:
Hi! Please have a look at the manual pages (if you have not allready done that). There might be some information for you in the user comments: http://www.php.net/manual/en/function.mssql-connect.php Manual page about command line scripting: http://www.php.net/manual/en/features.commandline.php Now you're using windows so I don't think that FreeTDS is used, right? But if you were on a Linux environment you should note that you need to have the server configured in the config file for FreeTDS, exactly in the same way your connecting. That means if you use fully qualified domain names the server should be registered with the same hostname in freetds.conf. But that has probably nothing to do with this now since you're using Windows... The documentation of mssql_connect() says that you can specify a portnumber like you did, but I found some examples on the net using a colon (:) instead. Try that also, or try with the default port number... I'm not sure if that is gonna help you at all, but it's worth trying... Or maybe you have some problem with name resolution through DNS... Try using the IP adress when connecting... It's really hard to tell what's wrong. However, I have seldom used PHP in a Windows environment so maybe I'm the wrong person to answer your questions! :) I do however have a command line application running on Windows XP that successfully uses MySQL on a Linux server, never had any trouble with that... Greetings, Krister Karlström, Helsinki, Finland Molteni Davide wrote: Hi,
thanks for your quick answer, but in the script I don't use sessions variables to store host, user and password, I wrote something like that: $sc=mssql_connect("hostname,1433","userid","password"); Can you please tell me where I can find information about how to design scripts for either the environment? Thanks a lot. Davide 2008/4/2, Krister Karlström <krister.karlstrom@arcada.fi>:
Hi! That description did not help us very much... I think you're just connecting using the wrong credentials, or using no at all. From where do you grab the hostname, username and password? Maybe it's stored in your session or something, and that session is not working in your command line environment..? It could be just about anything that's your problem! :) My advice is to take a look att the parameters using to connect to the server, maybe echo them to stdout before doing your connect... It might be that they are not defined when running your script on command-line. In general, very few script are written in such a way that they work the same way in a webserver environment and on command line. You should design your scripts for either the environment. Greetings, Krister Karlström, Helsinki, Finland Molteni Davide wrote: Hi,
I have a problem with all my php scripts that use MS SQL Server, but only when I start them from the command line I'm using Apache 2.2.4 with PHP 5.2.5 on a server Win2k3 with SP2, and MS SQL Server 2000 on another Win2k3 server. If I run the same script using a webbrower as an internet page it works fine, but if I run it from the command line (c:\>php scipt.php) I will receive messages like this: "Warning: mssql_connect(): Unable to connect to server: servername,1433 in c:\script.php on line #" Can someone have an idea what could be the problem? Can someone please help me? What should I do to make it working? Tanks a lot in advance. Davide


« previous php.db (#44854) next »