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 -Mdpkg -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.