new mysqli
PHP 스크립트에서 인스턴스를 인스턴스화 하려고 하면 무작위로 다음 오류가 발생하기 시작합니다.
mysqli::mysqli(): 헤더와 클라이언트 라이브러리 부 버전이 일치하지 않습니다. 제목: 50541 라이브러리: 50626
sudo yum list installed
을 실행하면 버전이 동일해 보이기 때문에 약간 혼란스럽습니다 . 어느 쪽이든 실행해도 sudo yum update
실제로 패키지가 업데이트되지는 않습니다.
sudo yum list installed
출력은 다음과 같습니다(php 패키지에만 해당).
php.x86_64 5.4.16-36.el7_1 @updates
php-cli.x86_64 5.4.16-36.el7_1 @updates
php-common.x86_64 5.4.16-36.el7_1 @updates
php-devel.x86_64 5.4.16-36.el7_1 @updates
php-mbstring.x86_64 5.4.16-36.el7_1 @updates
php-mcrypt.x86_64 5.4.16-3.el7 @epel
php-mssql.x86_64 5.4.16-3.el7 @epel
php-mysql.x86_64 5.4.16-36.el7_1 @updates
php-pdo.x86_64 5.4.16-36.el7_1 @updates
php-soap.x86_64 5.4.16-36.el7_1 @updates
나는 CentOS Linux release 7.1.1503 (Core)
, PHP 5.4.16
및 를 사용하고 있습니다 5.6.26 MySQL Community Server
.
php-mysqlnd
이 질문에 대한 다른 답변에서 드라이버를 설치할 수 있지만 드라이버가 yum의 패키지 아래에 나열되지 않는다는 것을 확인했습니다 .
yum을 통해 설치할 수 있는 PHP 패키지는 다음과 같습니다.
php.x86_64 5.4.16-36.el7_1 @updates
php-cli.x86_64 5.4.16-36.el7_1 @updates
php-common.x86_64 5.4.16-36.el7_1 @updates
php-devel.x86_64 5.4.16-36.el7_1 @updates
php-mbstring.x86_64 5.4.16-36.el7_1 @updates
php-mcrypt.x86_64 5.4.16-3.el7 @epel
php-mssql.x86_64 5.4.16-3.el7 @epel
php-mysql.x86_64 5.4.16-36.el7_1 @updates
php-pdo.x86_64 5.4.16-36.el7_1 @updates
php-soap.x86_64 5.4.16-36.el7_1 @updates
이 문제를 어떻게 해결할 수 있는지 아는 사람 있나요? 갑자기 왜 이런 일이 일어나는지 모르겠습니다. 금요일 주말에 떠나기 전에 대본이 작동 중이었고 내가 아는 한 아무것도 변경되지 않았습니다.
답변1
사용할 수 있었는데 sudo yum install php-mysqlnd
처음 설치했을 때 오타가 있었나봐요. 아야!
설치 후 php-mysqlnd
실행 sudo service httpd restart
.
분명히 동료가 우리 mysql
운전자를 짜증나게 했습니다. php
또는 관련하여 변경한 사항이 있는지 묻자 mysql
그는 변경하지 않았다고 말했습니다. 살펴보니 .bash_history
재설치도 했고 드라이버 php
도 잔뜩 있었습니다 mysql
.
배운 지식!
답변2
PHP 확장으로 이동하여 mysqli를 비활성화한 다음 nd_mysqli를 활성화하면 이 오류를 해결할 수 있습니다. 행운을 빌어요