Ich habe versucht, PHP (7.2) in Ubuntu (16.04) mit aktiviertem PDO zu installieren. Ich brauche PHP nicht als Apache-Modul, weil ich PHPs eingebauten Server verwenden möchte (wie im CLI-Modus php -S localhost:80
).
Also, hier ist was ich tue:
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
Jetzt in php.ini unkommentiert:
extension=pdo_mysql
Und trotzdem, wenn ich renne, php -v
bekomme ich den Fehler:
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
Ausgabe:
[PHP Modules]
Core
date
filter
hash
libxml
openssl
pcntl
pcre
Reflection
session
sodium
SPL
standard
zlib
[Zend Modules]
sudo phpenmod pdo_mysql
gibt mir/usr/sbin/phpenmod: 31: .: Can't open /usr/lib/php/php-helper
Antworten:
Ich habe das Problem folgendermaßen gelöst:
sudo apt-get --purge remove php-common
sudo apt-get install php-common php-mysql php-cli
Jetzt gibt es keinen Fehler und
php -m
zeigt, dass es alles hat:Ich weiß immer noch nicht, was das Problem überhaupt verursacht hat
quelle
xampp
Problem in Ubuntu 16.04. DankeIch habe das gleiche Problem für mich auf meiner Arbeitsbox erstellt, indem ich mehrere manuell auskommentiert habe
Zeilen in der
php.ini
. Das war wirklich ich, der denapt-get install
Prozess hinterfragt hat. Ich denke, modernes PHP7 + behandelt diese Erweiterungen mitconf.d
bestimmten Dateien wie:/etc/php/7.3/cli/conf.d/10-pdo.ini
/etc/php/7.3/cli/conf.d/20-pdo_mysql.ini
Die Antwort für mich war dann, diese
;extension
Zeilen in derphp.ini
Datei des Cli erneut zu kommentieren .quelle