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]
sudo phpenmod pdo_mysql
me dá/usr/sbin/phpenmod: 31: .: Can't open /usr/lib/php/php-helper
Respostas:
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 -m
mostra que tem tudo:Ainda não sei o que causou o problema em primeiro lugar
fonte
xampp
problema no ubuntu 16.04. ObrigadoCriei o mesmo problema para mim na minha caixa de trabalho, descomentando manualmente vários
linhas no
php.ini
. O que realmente foi eu que adivinhei oapt-get install
processo. Eu acho que o php7 + moderno lida com essas extensões usandoconf.d
arquivos 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
;extension
linhas nophp.ini
arquivo do CLI .fonte