PHP com pdo-mysql no ubuntu 16.04

11

Eu tenho tentado instalar o php (7.2) no Ubuntu (16.04) com o PDO ativado. Não preciso do php como módulo apache, porque quero usar o servidor embutido do PHP (no modo cli, como php -S localhost:80).

Então, aqui está o que eu faço:

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

Agora, no php.ini não comentado:

extension=pdo_mysql

E ainda assim, quando executo php -v, recebo o erro:

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 resultado:

[PHP Modules]
Core
date
filter
hash
libxml
openssl
pcntl
pcre
Reflection
session
sodium
SPL
standard
zlib
[Zend Modules]
Dan Miller
fonte
sudo phpenmod pdo_mysqlme dá/usr/sbin/phpenmod: 31: .: Can't open /usr/lib/php/php-helper
Dan Miller
A resposta acima diz que no ubuntu 16.04 você não precisa habilitar o mod, tente apenas instalar + reiniciar.
Grzegorz
oh, espere - você faz isso na CLI, neste caso, não será necessário reiniciar o apache.
Grzegorz
Sim, apache2 está inativo
Dan Miller

Respostas:

32

Eu resolvi o problema desta maneira:

sudo apt-get --purge remove php-common

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

Agora não há erro e php -mmostra que tem tudo:

[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

Ainda não sei o que causou o problema em primeiro lugar

Dan Miller
fonte
1
Eu tive o mesmo problema com Debian e PHP 7.2 (5.6, 7.0, 7.1 e 7.3 fina estavam trabalhando) purga e instalação de novo resolveu para mim também
Pierre
resolveu meu xamppproblema no ubuntu 16.04. Obrigado
abas nikzad
Me salvou de uma instalação PHP estranho
Brian Peterson
Yay - trabalhou para mim também
Jason Morgan
Obrigado! Isso resolveu meu problema. (Ubuntu 19.04 | Php 7.2)
PlayHardGoPro 24/10/19
-1

Criei o mesmo problema para mim na minha caixa de trabalho, descomentando manualmente vários

;extension=<module>

linhas no php.ini. O que realmente foi eu que adivinhei o apt-get installprocesso. Eu acho que o php7 + moderno lida com essas extensões usando conf.darquivos específicos como:

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

A resposta então para mim foi re-comentar essas ;extensionlinhas no php.iniarquivo do CLI .

Drupal Development Costa Rica
fonte