RE: [PHP-DB] Getting PHP for Windows to talk to MS SQL?
| From: | DPC) | Date: | Fri, 23 Jul 2004 21:34:45 +0000 |
| Subject: | RE: [PHP-DB] Getting PHP for Windows to talk to MS SQL? | ||
| Groups: | php.db | ||
| Request: | Send a blank email to php-db+get-35448@lists.php.net to get a copy of this message | ||
> -----Original Message-----
> From: weston@leary.csoft.net [mailto:weston@leary.csoft.net]
> Sent: Friday, July 23, 2004 4:07 PM
> To: php-db@lists.php.net
> Subject: [PHP-DB] Getting PHP for Windows to talk to MS SQL?
>
> I'm trying to get PHP (for Windows) to talk to MS SQL Server.
> This is proving to be non-trivial.
>
> I downloaded and installed the Windows binary package on my
> machine (the machine is running Microsfot Windows XP
> Professional), and jumped through the hoops to get it running
> under Apache 2.0. So far, so good.
>
> Now, the first thing I noted was that the mssql functions
> actually don't seem to exist in the binary... and apparently
> you have to compile them in to PHP, after having built
> FreeTDS. This seems a bit odd, as it's not at all clear to me
> that FreeTDS actually will build under Windows at all (it
> being a UNIX solution). I did try building it under cygwin,
> which ended with a flurry of error messages in bsqldb.c, so
> this assumption seems correct.
They are not compiled into the binary, but are available as an extension
that you enable via php.ini
<snip>
> Any ideas what the right best way to do this is? I'd prefer
> to use the mssql functions if I can...
>
I'm doing the same thing on my workstation with Apache 2, PHP 5 and
MSSQL 2000.
* ntwdblib.dll is in %systemroot%\system32\.
* I am not using the bundled ntwdblib.dll
* PHP is installed in c:\php from binary zip, pecl extensions are in
c:\php\ext
* (php.ini) extension_dir = "c:\php\ext\"
* (php.ini) extension=php_mssql.dll is uncommented
* php_mssql.dll is in c:\php\ext, not %systemroot%\system32\
* SQL Server 2000 is installed
The md5sum of my ntwdblib.dll is 4a76e50c4921ca9a35c5bb3c010b0cf8
I tested with the bundled ntwdblib.dll, which worked as well.
Try moving php_mssql.dll back into your extension directory, ensure that
the 'extension_dir' value is correct, restart apache and test again.