Rumah > Soal Jawab > teks badan
Saya cuba mendayakan pemacu sqlsrv untuk php8.1 pada Ubuntu 20.0. Ia tidak menunjukkan sambungan dalam phpinfo()
.
Apabila cuba menyemak modul sqlsrv menggunakan arahan php -m
output adalah seperti berikut:
Saya mengikuti dokumentasi rasmi di bawah:
extension=pdo_sqlsrv.so
, extension=sqlsrv.so
) dalam /etc/php/8.1/apache2/php.iniSaya tidak pasti apa yang berlaku, sebarang cadangan akan dihargai.
The output of phpinfo() for php7.4:
The output of phpinfo() for php8.1:
Ini perkaranya:
Apa yang saya hilang di sini?
P粉8232680062023-11-02 00:55:33
Saya dapat menyelesaikan masalah ini dengan menambah arahan berikut.
pecl install sqlsrv pdo_sqlsrv printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.1/mods-available/sqlsrv.ini printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.1/mods-available/pdo_sqlsrv.ini phpenmod -v 8.1 sqlsrv pdo_sqlsrv
Anda perlu memulakan semula apache2 selepas itu
P粉1933074652023-11-02 00:34:32
Boleh cuba ini:
1. switch to php8.1 2. sudo pecl uninstall -r sqlsrv 3. sudo pecl uninstall -r pdo_sqlsrv 4. sudo pecl -d php_suffix=7.2 install sqlsrv 5. sudo pecl -d php_suffix=7.2 install pdo_sqlsrv 6. sudo service apache2 restart
Sila ambil perhatian bahawa -r, --register-only
tidak akan memadamkan fail, ia hanya akan mendaftarkan pakej sebagai tidak dipasang.
Lihat sumber ini untuk maklumat lanjut. https://github.com/microsoft/msphpsql/issues/1145#issuecomment- 649682231