16.04로 업데이트시 pdo_mysql이 제거됨


9

최근에 16.04 LTS로 업데이트했습니다. 그리고 내 PHP를 7.0으로 업데이트했습니다. 이제 pdo_mysql을 어떻게 제거했는지 설명합니다. magento 웹 사이트를 개발하려면이 확장이 필요합니다. phpinfo에서 찾을 수 있습니다

pdo 지원 : 활성화 된 pdo 드라이버 : 값 없음

나는 많은 것을 봤는데 다음 해결책을 찾았습니다.

  1. php-mysql 설치 (이미 최신 버전 임)
  2. php7.0-mysql 설치 (이미 최신 버전 임)
  3. php.ini (/etc/php/7.0/apache2/php.ini)에서 다음과 같이 변경되었습니다 : 사용 가능한 확장 pdo.so, pdo_mysql.so, mysqli.so. 또한 정확한 경로를 제공하여 동일한 시도를했습니다 (변경 후 아파치가 다시 시작됨)
  4. 심지어 pecl을 사용하여 pdo_mysql을 설치하려고 시도했습니다.

위의 방법 중 어느 것도 도움이되지 못했습니다. 이제 거의 2 일 동안이 문제를 해결했습니다. 도움을 주시면 감사하겠습니다.

php -r 'phpinfo ();'의 출력 | grep -i pdo :

/etc/php/7.0/cli/conf.d/10-pdo.ini,
PDO
PDO support => enabled
PDO drivers =>  

/ usr / sbin / phpquery의 출력 -v 7.0 -M

mysqlnd
sysvmsg
sockets
gd
mcrypt
phar
xsl
xmlreader
shmop
sysvsem
mysqli
xml
tokenizer
iconv
pdo
pdo_mysql
gettext
simplexml
xmlwriter
opcache
posix
sysvshm
ftp
dom
json
readline
calendar
fileinfo
ctype
wddx
exif

dpkg -l php * mysql 출력

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  php-mysql      1:7.0+35ubun all          MySQL module for PHP [default]
un  php-pdo-mysql  <none>       <none>       (no description available)
rc  php5-mysql     5.6.11+dfsg- amd64        MySQL module for php5
ii  php7.0-mysql   7.0.4-7ubunt amd64        MySQL module for PHP
un  php7.0-pdo-mys <none>       <none>       (no description available)

의 출력을 게시하십시오 php -r 'phpinfo();' | grep -i pdo. 확장 기능을 직접 사용 phpenmod하지 말고 대신 사용하십시오. 또는 magento를 실행하는 동일한 가상 서버에서 phpinfo ()의 전체 출력을 게시하십시오. 나는 당신이 당신의 기본 php.ini에 무언가를하고 있다고 생각합니다.
— oerdnj

답장이 늦어서 죄송합니다. 출력은 다음과 같습니다. /etc/php/7.0/cli/conf.d/10-pdo.ini, PDO PDO 지원 => 활성화 된 PDO 드라이버 =>
— Rakshith S Kumar

초기 질문에 출력을 추가했습니다.
— Rakshith S Kumar

그리고 출력 : /usr/sbin/phpquery -v 7.0 -M및 dpkg -l php*mysql?
— oerdnj

두 출력을 모두 추가했습니다.
— Rakshith S Kumar

답변:


8

이 단계에서는 다음을 수행하여 "전원을 껐다가 다시 켜는 것"을 권장합니다.

sudo apt-get purge php-common php5-common

뒤에

sudo rm -r /etc/php

그런 다음 PHP 7.0 및 mysql 모듈을 다시 설치하십시오.

sudo apt-get install libapache2-mod-php php-mysql

먼저 패키지를 제거하고 mysql 모듈을 제거하고 다시 설치하십시오.

sudo apt-get purge php7.0-mysql

그리고 다시 설치 :

sudo apt-get install php-mysql

두 경우 모두 기존 구성 파일과 패키지 상태를 삭제하는 apt-get purge대신 사용 하는 것이 중요합니다 apt-get remove.

가장 파괴적인 방법은 다음 phpenmod명령을 사용하여 mysql 모듈을 다시 활성화하는 것입니다 .

sudo phpenmod mysqlnd pdo_mysql

시스템에서 생성 한 내용을 모르는 경우 올바른 조언을 제공하기가 어렵습니다.


제거, 디렉토리 제거, 재설치 및 php7.0-mysql 제거 및 php-mysql 설치 단계를 수행했습니다. 이제 아파치 자체가 작동을 멈추고 요청을 처리 할 수 ​​없다고 말합니다. :(
— Rakshith S Kumar

1
죄송합니다. php7.0-xml을 설치해야했는데 모든 것이 정상입니다. 고마워
— Rakshith S Kumar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.