pdo_sqlsrv
Debian 12 서버에 PHP 8.3을 설치하고 싶습니다 . 사용 가능한 문서를 따르고 있습니다.여기.
최신 버전은 완벽해 보입니다(5.12.0) 하지만 설치할 수 없습니다. 의사의 지시를 따른 후:
apt-get install curl apt-transport-https
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update
apt-get install -y php8.3 php8.3-dev php8.3-xml php8.3-intl unixodbc-dev unixodbc odbcinst
나는 이것을하고있다 :
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
그리고 항상 이런 오류가 발생합니다.
PHP Warning: PHP Startup: Unable to load dynamic library 'sqlsrv.so' (tried: /usr/lib/php/20230831/sqlsrv.so (/usr/lib/php/20230831/sqlsrv.so: cannot open shared object file: No such file or directory), /usr/lib/php/20230831/sqlsrv.so.so (/usr/lib/php/20230831/sqlsrv.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
No releases available for package "pecl.php.net/sqlsrv"
install failed
PHP Warning: PHP Startup: Unable to load dynamic library 'sqlsrv.so' (tried: /usr/lib/php/20230831/sqlsrv.so (/usr/lib/php/20230831/sqlsrv.so: cannot open shared object file: No such file or directory), /usr/lib/php/20230831/sqlsrv.so.so (/usr/lib/php/20230831/sqlsrv.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
No releases available for package "pecl.php.net/pdo_sqlsrv"
install failed
나도 시도했다이 튜토리얼msodbcsql17
Microsoft에서 " 패키지를 찾을 수 없습니다" 라는 메시지가 나타납니다.
설치하는 방법을 모르겠습니다. 어떻게 해결할 수 있나요?
답변1
이유를 찾았습니다. 설치된 php7.4와 충돌이 있습니다.
이전 PHP 버전을 제거한 후 다음 명령을 사용하십시오.
apt remove php7*
apt purge php7*
문제 없이 다음 명령을 모두 실행했습니다.
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.3/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.3/mods-available/pdo_sqlsrv.ini
sudo phpenmod -v 8.3 sqlsrv pdo_sqlsrv
sudo service apache2 restart