PHP con pdo-mysql en ubuntu 16.04

11

He estado intentando instalar php (7.2) en Ubuntu (16.04) con PDO habilitado. No necesito php como módulo apache, porque quiero usar el servidor integrado de PHP (en modo cli, como php -S localhost:80).

Entonces, esto es lo que hago:

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

Ahora, en php.ini sin comentar:

extension=pdo_mysql

Y aún cuando ejecuto php -vme sale el error:

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

[PHP Modules]
Core
date
filter
hash
libxml
openssl
pcntl
pcre
Reflection
session
sodium
SPL
standard
zlib
[Zend Modules]
Dan Miller
fuente
prueba este stackoverflow.com/a/42929132/299774
Grzegorz el
sudo phpenmod pdo_mysqlme da/usr/sbin/phpenmod: 31: .: Can't open /usr/lib/php/php-helper
Dan Miller
la respuesta anterior dice que en ubuntu 16.04 no necesita habilitar el mod, intente instalar y reiniciar.
Grzegorz
oh, espera: lo haces en la CLI, no es necesario reiniciar Apache en este caso.
Grzegorz
Sí, apache2 está inactivo
Dan Miller

Respuestas:

32

Resolví el problema de esta manera:

sudo apt-get --purge remove php-common

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

Ahora no hay error y php -mmuestra que tiene todo:

[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

Todavía no sé qué causó el problema en primer lugar

Dan Miller
fuente
1
Tuve el mismo problema con Debian y PHP 7.2 (5.6, 7.0, 7.1 y 7.3 funcionaban bien) La purga e instalación nuevamente lo resolvió para mí también
Pierre
resolvió mi xamppproblema en ubuntu 16.04. Gracias
abas nikzad
Me salvó de una extraña instalación de PHP
Brian Peterson, el
Yay - trabajó para mí también
Jason Morgan
¡Gracias! Esto resolvió mi problema. (Ubuntu 19.04 | Php 7.2)
PlayHardGoPro
-1

Creé el mismo problema para mí en mi caja de trabajo descomentando manualmente varios

;extension=<module>

líneas en el php.ini. Lo que realmente era yo, adivinando el apt-get installproceso. Creo que php7 + moderno maneja estas extensiones usando conf.darchivos específicos como:

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

La respuesta entonces para mí fue volver a comentar estas ;extensionlíneas en el php.iniarchivo del cli .

Drupal Development Costa Rica
fuente