PHP con pdo-mysql in Ubuntu 16.04


11

Ho provato a installare php (7.2) in Ubuntu (16.04) con PDO abilitato. Non ho bisogno di php come modulo apache, perché voglio usare il server integrato PHP (in modalità cli, come php -S localhost:80).

Quindi, ecco cosa faccio:

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

Ora, in php.ini non commentato:

extension=pdo_mysql

E ancora quando corro php -vottengo l'errore:

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

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


sudo phpenmod pdo_mysqlmi dà/usr/sbin/phpenmod: 31: .: Can't open /usr/lib/php/php-helper
Dan Miller il

la risposta sopra dice che in Ubuntu 16.04 non è necessario abilitare la mod, prova a installare + riavvia.
Grzegorz,

oh, aspetta - lo fai nella CLI, in questo caso non dovrebbe essere necessario il riavvio di Apache.
Grzegorz,

Sì, apache2 è inattivo
Dan Miller il

Risposte:


32

Ho risolto il problema in questo modo:

sudo apt-get --purge remove php-common

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

Ora non ci sono errori e php -mmostra che ha tutto:

[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

Ancora non so cosa abbia causato il problema in primo luogo


1
Ho avuto lo stesso problema con Debian e PHP 7.2 (5.6, 7.0, 7.1 e 7.3 funzionavano bene) L'eliminazione e l'installazione di nuovo lo hanno risolto anche per me
Pierre

risolto il mio xamppproblema in Ubuntu 16.04. Grazie
abas nikzad,

Mi ha salvato da una strana installazione di PHP
Brian Peterson,

Già - ha funzionato anche per me
Jason Morgan il

Grazie! Questo ha risolto il mio problema. (Ubuntu 19.04 | Php 7.2)
PlayHardGoPro

-1

Ho creato lo stesso problema per me stesso sulla mia casella di lavoro decommentando manualmente diversi

;extension=<module>

linee nel php.ini. Che ero davvero io a indovinare il apt-get installprocesso. Penso che il moderno php7 + gestisca queste estensioni usando conf.dfile specifici come:

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

La risposta quindi per me è stata di commentare nuovamente queste ;extensionrighe nel php.inifile del cli .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.