Ik probeer een webserver in te stellen met PHP 7 RC3
+ Nginx
op Ubuntu 14.04
(voor testdoeleinden).
Ik heb Ubuntu in Vagrant geïnstalleerd met behulp van ubuntu/trusty64
en PHP 7 RC 3 van Ondřej Surý (https://launchpad.net/~ondrej/+archive/ubuntu/php-7.0).
Ik kan de manier om MySQL PDO
te installeren niet vinden (PHP ziet de klasse PDO
maar niets gerelateerd aan MySQL, zoals PDO::MYSQL_ATTR_DIRECT_QUERY
enz.)
Het lijkt erop dat er geen lib php7.0-mysql
is (naar analogie met standaard php5-mysqlnd
en php7.0-fpm
enz. . van Ondřej)
Sectie PDO
in phpinfo()
:
PDO support enabled
PDO drivers no value
Hoe kan ik het krijgen?
Antwoord 1, autoriteit 100%
Voor degenen die Linux met apache2 draaien, moet je php-mysql installeren
apt-get install php-mysql
of als u ubuntu 16.04 of hoger gebruikt, is het uitvoeren van de volgende opdracht voldoende, u hoeft uw php.ini-bestand niet te bewerken
apt-get install php7.2-mysql
Als u Ubuntu 15.10 of lager gebruikt:
Bewerk uw php.ini-bestand, het bevindt zich op /etc/php/[version]/apache2/php.ini
en zoek naar pdo_mysql
misschien heb je zoiets gevonden
;extension=pdo_mysql.so
Verander het in dit
extension=pdo_mysql.so
Sla het bestand op en herstart apache
service apache2 restart
Controleer of het beschikbaar is in uw phpinfo()
Antwoord 2, autoriteit 28%
Installeer eerst php-mysql
sudo apt-get install php7.0-mysql
//change the version number based on the php version
schakel vervolgens de module in
sudo phpenmod pdo_mysql
en herstart apache
sudo service apache2 restart
Antwoord 3, autoriteit 4%
Op ubuntu 18.04 volgen volgende werken voor mij
typ dit in uw terminal
Voor php7.3
sudo apt-get install php7.3-gd php7.3-mysql
Voor php7.0
sudo apt-get install php7.0-gd php7.0-mysql
Voor php5
sudo apt-get install php5-gd php5-mysql
Antwoord 4, autoriteit 4%
Controleer eerst of uw php.ini de extensie “php_pdo_mysql” en “php_mysqli” heeft ingeschakeld en of het pad van “extension_dir” correct is. Als je een van de bovenstaande configuraties nodig hebt, moet je de php-fpm opnieuw starten om de wijzigingen toe te passen.
In mijn geval (waar ik het Windows-besturingssysteem in het bedrijf gebruik, geef ik de voorkeur aan OSX of Linux), heb ik het probleem opgelost door deze waarden in php.ini te plaatsen:
; ...
extension_dir = "ext"
; ...
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
; ...
Ik hoop dat dit helpt.
Antwoord 5, autoriteit 3%
Sinds eggyalzijn reactie niet als antwoord heeft gegeven nadat hij het juiste advies in een reactie had gegeven, plaats ik het hier: In mijn geval moest ik module php-mysql
installeren. Zie opmerkingen onder de vraag voor details.
6
Ik had, vrijwel hetzelfde probleem. Ik kon zien dat PDO is ingeschakeld, maar ik had geen beschikbare stuurprogramma’s (met behulp van PHP 7-RC4). Ik slaagde erin om het probleem op te lossen door de PHP_PDO_MYSQL-extensie toe te voegen aan die welke zijn ingeschakeld.
Ik hoop dat dit helpt!
7
Had hetzelfde probleem, opgelost door de extensie in de PHP.INI in te schakelen met de juiste bestandsnaam. Het werd vermeld als PHP_PDO_MYSQL.SO, maar de module-naam in / lib / php / modules heette Just PDO_MYSQL.SO
Dus verwijder dus het prefix “PHP_” in het PHP.INI-bestand en start vervolgens de HTTPD-service opnieuw en het werkte als een charme.
Houd er rekening mee dat ik boog gebruikt en dus padnamen en -services kunnen verschillen, afhankelijk van uw distrubutie.