PHP 7 RC3: Hoe een ontbrekende MySQL PDO te installeren

Ik probeer een webserver in te stellen met PHP 7 RC3+ Nginxop Ubuntu 14.04(voor testdoeleinden).

Ik heb Ubuntu in Vagrant geïnstalleerd met behulp van ubuntu/trusty64en PHP 7 RC 3 van Ondřej Surý (https://launchpad.net/~ondrej/+archive/ubuntu/php-7.0).

Ik kan de manier om MySQL PDOte installeren niet vinden (PHP ziet de klasse PDOmaar niets gerelateerd aan MySQL, zoals PDO::MYSQL_ATTR_DIRECT_QUERYenz.)

Het lijkt erop dat er geen lib php7.0-mysqlis (naar analogie met standaard php5-mysqlnden php7.0-fpmenz. . van Ondřej)

Sectie PDOin 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.inien 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-mysqlinstalleren. 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.

Other episodes