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。また、正確なパスを指定して同じことを試しました(変更を加えた後でapacheを再起動しました)
  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 2016

回答:


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のインストールの手順を実行しました。apache自体が機能しなくなり、リクエストを処理できないと表示されます。:(
Rakshith S Kumar

1
すみません、php7.0-xmlをインストールする必要があり、すべて問題ありませんでした。どうもありがとう。
Rakshith S Kumar 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.