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.