MS SQL 2000/2005 bağlanmak için doğru PHP yapılandırma nedir?

3 Cevap php

Windows 2003/IIS6 kullanan FastCGI üzerine PHP 5.2.6 (non-thread-safe build) çalıştıran sunucuların bir dizi var.

MS SQL 2000/2005 bağlanırken bazı sorunlar yaşıyorum (MySQL bağlantı gayet iyi çalışıyor, ASP / ASP.NET komut başarıyla yanı MS SQL bağlanabilir). One solution ntwdblib.dll PHP uzantıları klasöre SQL istemci Araçları kopyalama veya (ben yapmak için isteksiz değilim) web sunucusu üzerinde SQL istemci Araçları Tüm yükleme göstermektedir.

Önerilen diğer bir çözüm, Microsoft SQL Server 2005 Driver for PHP kullanmaktır. Bu greenfield uygulamalar yazmak için iyi görünüyor ama böyle phpBBS veya WordPress gibi uygulamalar için bu işe görünmüyor.

Örneğin, aşağıdaki komut dosyası:

<?php 
$host = "mssqlhost"; 
$user = "phpbb2"; 
$password = "phpbb2"; 

$connect_sql_server = mssql_connect($host, $user, $password); 
?>

Ile başarısız:

PHP Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: mssqlhost in E:\AppsDev.NET_UK_Minds\phpSqlNC\www\test.php on line 6

Amaç PHP betikleri farklı sunucular üzerinde çalışan SQL 2000 ve SQL 2005 hem de bağlanmak için izin vermektir. Ben de PHP bir sürümüne yükseltme şu anda bir seçenek olmadığını eklemek gerekir.

SQL 2000/2005 bağlanmak için Windows 2003/IIS6 üzerinde PHP yapılandırmak için doğru yolu nedir?

3 Cevap

Çeşitli 'çözümler' denedikten sonra sorun PHP ntwdblib.dll dosya klasörü yürütülebilir yerine sadece çözüldü çıkıyor.

Herhangi bir yüklemeye gerek yoktur: SQL Native Client, SQL Client Tools veya Microsoft SQL Server 2005 Driver for PHP, birçok ölü biter önerdi.

Done ihtiyacı bütün o ntwdblib.dll sürümü 2000.80.2039.0 c:\php klasörüne (ya da her yerde sen / sıkıştırılmamış PHP yükledim) içine düştü sağlamak ve daha sonra IIS sıfırlamak için. PHP dokümanlar çalışmak ve onlar da bu sadece, aynı zamanda yanlış adlandırılmış yöneltme destek olacağını işaret etmez% SystemRoot% \ System32 için suggest kopyalama ntwdblib.dll.

I ntwdblib.dll sonraki bir sürüm değil çalışır ya da görmek için çalıştı, ama benim için 2000.80.2039.0 çalışıyor değil.

Bir cevap, ama daha yararlı bilgiler gerçekten ...

Son php 5.2.x ile birlikte ntwdblib.dll (2000.2.8.0) sürümü Apache ve MSSQL (2008) ile harika çalışıyor. Ben 2000.80.XX sürümlerinden DLL bir kopyasını ve PHP ile gelir ne daha yeni. Bu daha iyi yaparsa ben bilmiyorum.

"Mssql_" fonksiyonları official msft php mssql sürücüsü dahil değildir. Onlar farklı bir adlandırma kuralı onları değişti. ("Sqlsrv_") deftere Bu bağlantı sürüm 1.0 ama onlar zaten 1.1 sürümü vardır. "Mssql_" fonksiyonları ntwdblib.dll mevcut olmasını gerektirir.

Apache 2.2.14 /PHP 5.2.12/MS-SQL 2008 integration

  • Download Apache 2.2.14 for Windows Installer package 2008 32 bit httpd DOT apache DOT org/download.cgi --> apache_2.2.14-win32-x86-no_ssl
  • Apache yüklerken varsayılan izleyin
  • Apache'yi 2.2 hizmetini durdurun

  • Download PHP 5.2.12 Windows Zip package for Windows 2008 32 bit; (VC6 Thread Safe version needed for PHP used as an Apache module).

windows DOT php DOT net/download/ --> php-5.2.12-Win32-VC6-x86.zip - Extract the archive to C:\PHP - Verify the installation: C:\PHP>php -v
- set the Environment Variable PHPRC=C:\PHP - Rename 'C:\PHP\php.ini-recommended' to 'C:\PHP\php.ini' - Edit C:\PHP\php,ini file:

modify:     extension_dir = "C:\PHP\ext"
uncomment:  extension=php_mssql.dll
  • Aşağıdaki satırları için ": \ Program Files \ Apache Software Foundation \ Apache2.2 \ conf \ httpd.conf C" Ekle

    PHPIniDir "C:/PHP/"
    LoadModule php5_module "C:/PHP/php5apache2_2.dll"
    AddHandler application/x-httpd-php .php
    
  • ": \ Program Files \ Apache Software Foundation \ Apache2.2 \ conf \ mime.types dosyasına C" altında satırları ekleyin

    application/x-httpd-php php
    application/x-httpd-php-source  phps
    
  • Ensure that phpinfo.php file with the content: is in the folder C:\Program Files\Apache Software Foundation\Apache2.2\htdocs

  • Apache'yi 2.2 hizmetini başlatın

  • Apache / PHP entegrasyonu Doğrulama: http://localhost/phpinfo.php -> 'PHP Sürümü 5.2.12' bilgileri gösterir
  • Doğrulama mssql 'modülünün yüklü olup olmadığını: c: \ php \ php-m

Bir cazibe gibi tüm işleri ... hiçbir ek adımlar gerekli.