web-dev-qa-db-ja.com

PHP ubuntu 16.04のpdo-mysqlで

PDOを有効にしてUbuntu(16.04)にphp(7.2)をインストールしようとしています。 PHP組み込みサーバー(php -S localhost:80などのcliモード)を使用するため、Apacheモジュールとしてphpは必要ありません。

だから、ここに私がやることがあります:

Sudo apt-get install php

Sudo apt-get install php-mysql

Sudo cp /usr/lib/php/7.2/php.ini-production.cli /etc/php/7.2/cli/php.ini

今、コメントされていないphp.iniで:

extension=pdo_mysql

それでもphp -vを実行するとエラーが発生します:

PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /usr/lib/php/20170718/pdo_mysql (/usr/lib/php/20170718/pdo_mysql: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/pdo_mysql.so (/usr/lib/php/20170718/pdo_mysql.so: undefined symbol: pdo_parse_params)) in Unknown on line 0

php -m出力:

[PHP Modules]
Core
date
filter
hash
libxml
openssl
pcntl
pcre
Reflection
session
sodium
SPL
standard
zlib
[Zend Modules]
7
Dan Miller

私はこの方法で問題を解決しました:

Sudo apt-get --purge remove php-common

Sudo apt-get install php-common php-mysql php-cli

これでエラーは発生せず、php -mにすべてが表示されます:

[PHP Modules]
calendar
Core
ctype
date
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
Zend OPcache
zlib

[Zend Modules]
Zend OPcache

そもそも問題の原因がわからない

14
Dan Miller