ubuntu 16.04のpdo-mysqlを使用したPHP


11

PDOを有効にしてphp(7.2)をUbuntu(16.04)にインストールしようとしています。PHPの組み込みサーバーを(CLIモードなどでphp -S localhost:80)使用したいので、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]


sudo phpenmod pdo_mysql私に与えます/usr/sbin/phpenmod: 31: .: Can't open /usr/lib/php/php-helper
ダン・ミラー

上記の回答では、ubuntu 16.04ではmodを有効にする必要はなく、インストール+再起動を試してみます。
グジェゴシ

ああ、待ってください-あなたはCLIでそれをします、この場合、Apacheの再起動は必要ありません。
Grzegorz

はい、apache2は非アクティブです
Dan Miller

回答:


32

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

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

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


1
DebianとPHP 7.2でも同じ問題がありました(5.6、7.0、7.1、および7.3は問題なく動作していました)パージおよび新規インストールも私にとってそれを解決しました
Pierre

xamppubuntu 16.04で私の問題を解決しました。ありがとう
abas nikzad

奇妙なPHPインストールから私を救った
ブライアンピーターソン

イェイ-私も働いた
ジェイソンモーガン

ありがとうございました!これは私の問題を解決しました。(Ubuntu 19.04 | Php 7.2)
PlayHardGoPro '24年

-1

私は自分のワークボックスで同じ問題を手動でいくつかコメント解除して作成しました

;extension=<module>

の行php.ini。それは本当に私がapt-get installプロセスを二番目に推測したものでした。私は現代のphp7 +が次のconf.dような特定のファイルを使用してこれらの拡張子を処理すると思います:

  • /etc/php/7.3/cli/conf.d/10-pdo.ini
  • /etc/php/7.3/cli/conf.d/20-pdo_mysql.ini

私にとっての答え;extensionは、cliのphp.iniファイルでこれらの行を再コメントすることでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.