Rumah >pembangunan bahagian belakang >masalah PHP >Apa yang perlu dilakukan jika php gagal menyambung ke mssql

Apa yang perlu dilakukan jika php gagal menyambung ke mssql

藏色散人
藏色散人asal
2021-12-31 10:04:142288semak imbas

Penyelesaian kepada kegagalan PHP untuk menyambung ke mssql: 1. Cari sambungan=php_mssql.dll dalam fail php.ini dan alih keluar koma bertitik sebelumnya 2. Salin fail php_mssql.dll ke "c:/; direktori windows/ system32/"; 3. Mulakan semula iis.

Apa yang perlu dilakukan jika php gagal menyambung ke mssql

Persekitaran pengendalian artikel ini: sistem Windows 7, versi PHP5, komputer DELL G3

Apakah yang perlu saya lakukan jika PHP gagal menyambung ke mssql?

Penyelesaian kepada ketidakupayaan PHP untuk menyambung ke pangkalan data MSSQL:

pangkalan data php sambungan pelayan sql pelayan sqlserver

Saya menerima soalan hari ini. Data sqlserver2000 telah diakses pada persekitaran platform php55 iis6 mysql5 Hasilnya, apabila dijalankan, didapati terdapat ralat dalam menyambungkan php ke pangkalan data mssql jauh Kod ralat adalah seperti berikut:

Warning: mssql_connect(): Unable to connect to server:

Fikir-fikirkan, sebelum ni tak ada masalah. Kemudian, saya mencari di Internet dan menemui satu artikel, hanya untuk mengetahui bahawa pelayan perlu memasang mssql untuk menggunakan php untuk menyambung ke mssql Pada asalnya, saya tidak perlu menggunakan mssql pada pelayan baru, tetapi sekarang saya tiada pilihan selain memanjangkannya Selepas memanjangkan mssql, tiada masalah.

Kaedah sambungan:

1 Cari

dalam fail c:/windows/php.ini; 🎜>

Cari

; extension_dir = "./" Tukar direktori perpustakaan sambungan kepada direktori perpustakaan php, seperti: extension_dir = "c:/php/ext"

2. Salin fail php_mssql.dll ke direktori c:/windows/system32/

3. Mulakan semula iis.

Berikut ialah artikel yang ditemui.

konfigurasi php:

Tetapkan seperti berikut dalam fail php.ini, cari

; extension_dir = d:/extension/

php.ini anda mungkin bukan d:/extension/

Tukarnya kepada php_mssql.dll di bawah direktori sambungan di bawah direktori pemasangan php, di mana Path, jika anda belum mengalihkannya ke tempat lain (dengan mengandaikan laluan pemasangan php anda ialah d:/php)

tukarkannya kepada extension_dir=d:/php/extensions/

dan kemudian cuba lagi Mula pelayan web

Ini mudah dilakukan, tetapi selepas melengkapkan tetapan tersebut, ia masih tidak dapat disambungkan Mesej ralat adalah seperti berikut:

Ralat sambungan pangkalan data MS SQL Server! hos pangkalan data Adakah tetapan pembolehubah betul!!!

Saya menyemak tetapan pembolehubah hos berulang kali, dan tiada masalah dengan tetapan tersebut Saya melihat melalui web dan menemui petunjuk berikut:

Masalah ditemui dengan cara ini. Masalahnya ialah ntwdblib.dll

php.com资料:
I am trying to connect to SQL Server 2000 from PHP
I bumped to following warning:
Warning: mssql_connect(): Unable to connect to server: SERVER/Portal
....... on line 5
on line 5 there is:
$db_connect = mssql_connect('SERVER/Portal', 'sa', 'my_passwd');
I did the following
1.enabled php_mssql.dll extension in PHP.ini
2.every dll is in proper place(System32 or PHP folder),including ntwdblib.dll
I search lots of profile throught web ,but no one give me proper answer to resolve it.
after a few hour ,I found the problem was caused by
ntwdblib.dll ,which version is 7.00.839 ,when I replaced old ntwdblib.dll with the new
ntwdblib.dll ,which version is 8.00.194 ,all problem are solved.
We had some, read A LOT, of problems with MSSQL under Windows 2003.
We had 2 the same windows, php, php-ini, everything machines but only one could connect.
Unable to connect was the error message.
Finnaly we checked the version of ntwdblib.dll and the one distributed with PHP was 7.00....
and the version of the one on the SQL Server install was 8.00.... so we copied this one in
the php and apache dir and it worked.
Fungsi utama ntwdblib.dll adalah untuk menyediakan perkhidmatan sambungan pelayan sql.

Versi PHP yang saya gunakan ialah 5.25/ dalam windows/system32/ pelayan tempat ia dipasang, saya mendapati bahawa versi fail ntwdblib.dll ialah 2000.2.8.0 , kerana Apabila memasang PHP, semua fail di bawah dll akan ditimpa ke dalam direktori

sistem, jadi apabila saya menggunakannya untuk menyambung ke pelayan sql 2000, sudah tentu saya tidak akan dapat menyambung.

Kemudian, saya mendapati bahawa versi ntwdblib.dll ialah 2000.80.2039.0 pada pelayan di mana pelayan sql 2000 dipasang seperti biasa. Saya menyalin fail ini untuk menulis ganti versi sebelumnya biasalah.

Tambahan: Jika nama pangkalan data bermula dengan nombor, ia juga akan menggesa bahawa ia tidak boleh dibuka Pada masa ini, ia adalah sangat mudah , 123bbs ditulis semula sebagai [ 123bbs] Di samping itu, keadaan ini juga akan berlaku jika nama pangkalan data anda bercanggah dengan perkataan yang disimpan dalam SQL Server Anda juga boleh menyelesaikannya dengan menggunakan tanda kurung.

Akhirnya, masalah PHP tidak dapat menyambung dengan betul ke pelayan sql 2000 akhirnya diselesaikan Walaupun mengambil masa lebih daripada setengah hari, penuaiannya masih hebat masalah yang sama.

Akhir sekali, jika komputer MSSQL sasaran anda dilengkapi dengan firewall, sila buka port 1433, terutamanya untuk sistem windows xp!

Selepas membaca maklumat di atas, saya meminta rakan yang memasang sqlserver2000 menghantar fail "ntwdblib.dll" kepada saya, tetapi apabila saya memuat naiknya ke pelayan, info() berjaya tidak mempunyai sambungan mssql, yang telah dimuatkan Mengapa ia tidak ada pada dasarnya tidak ada perbezaan antara fail php.ini dan fail tempatan. Semuanya adalah normal.

Akhirnya, didapati masih terdapat masalah dengan versi "ntwdblib.dll" dan saya menemui versi "ntwdblib.dll" yang lebih tinggi untuk menggantikannya.

Pembelajaran yang disyorkan: "

Tutorial Video PHP

"

Atas ialah kandungan terperinci Apa yang perlu dilakukan jika php gagal menyambung ke mssql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn