Laravel sur PHP 5.4 7.0: AOP Exception - ne Pourrait pas trouver le pilote (MySQL)c
J'ai un Laravel 5.4 projet sur mon Ubuntu 14.04 (VPS avec Plesk 12.5.30). Après la création de la base de données et programmés le .env fichier avec les informations requises, j'ai couru php artisan migrate
et d'exception:
[Éclairer\Database\QueryException]
ne pouvait pas trouver le pilote (SQL: select * from information_schema.des tables où table_schema = pmaramaldb et table_name = migrations)[PDOException]
ne pouvait pas trouver le pilote
Mon .env fichier:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=pmaramaldb
DB_USERNAME=utilisateur
DB_PASSWORD=mot de passe
J'ai suivi la plupart des guides pour résoudre cette erreur, et il n'y avait pas de résultats positifs:
Permettant À La Solution D'Extension:
La php.ini fichier est généré automatiquement, je suppose que c'est fait par parallels Plesk panel. Au début du fichier, il est dit:
; ATTENTION!
;
; DE NE PAS MODIFIER CE FICHIER CAR CE FICHIER A ÉTÉ GÉNÉRÉ AUTOMATIQUEMENT,
; DE SORTE QUE TOUS VOS CHANGEMENTS SERONT PERDUS À LA PROCHAINE FOIS QUE LE FICHIER EST GÉNÉRÉ.
J'ai donc essayé de toute façon. Après que j'ai redémarré Apache, et a ensuite essayé de nouveau... Ne fonctionne pas.
Installation php7.0-mysql Solution:
J'ai aussi essayé d'installer MySQL en cas ne l'est pas:
user@server:/var/www/vhosts$ sudo apt-get install php7.0-mysql
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
php7.0-mysql est déjà la plus récente version.
0 actualizados, 0 se instalarán, 0 para eliminar y 67 no actualizados.
** SQL Lite Installer la Solution:**
J'ai aussi essayé comme la question du lien dit: sudo apt-get install php5-sqlite
et le résultat a été:
user@server:/var/www/vhosts/system/maramal.io/etc$ sudo apt-get install php5-sqlite
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
php5-sqlite est déjà la plus récente version.
0 actualizados, 0 se instalarán, 0 para eliminar y 67 no actualizados.
Compositeur de Vidage-autoload Solution:
Il ne fonctionne pas non plus. J'ai essayé composer dump-autoload
et ça ne fonctionne pas.
Après l'exécution de la commande php -i
:
AOP
AOP support => permis
Les drivers PDO =>
...
La Version de PHP => 5.6.30-1+deb.sury.org~fidèle+1
Bien, je ne sais pas si cela a quelque chose à voir avec l'erreur, mais la version présentée par l'exécution de php -v
est:
utilisateur@serveur: ~/path$ php -v
PHP 5.6.30-1+deb.sury.org~fidèle+1 (cli)
Copyright (c) 1997-2016 Le Groupe PHP
Zend Engine v2.6.0, le droit d'Auteur (c) 1998-2016 Zend Technologies
avec Zend OPcache v7.0.6-dev, le droit d'Auteur (c) 1999-2016, par Zend Technologies
Peut-être la peine de faire un
php -i
dans la CLI pour s'assurer qu'il correspond à l'basé sur le web. Parfois, vous pouvez obtenir une autre version de PHP sur le CLI que celui d'apache.hmm... une autre idée: si je comprends correctement le processus, l'erreur se fait en php cli appel. Avez-vous vu la réponse par leith dans la question? php-cli utilise un autre fichier ini, peut-être que le driver pdo n'est pas activé dans ce cas
la meilleure chose à faire est de
which php
trouver celui qui fonctionne actuellement, supprimer le lien et le PHP 7 binaires dans votre /usr/bin
ou autre chemin dir. Votre CLI de php n'ont pas de drivers PDOessayez
mv /usr/bin/php /usr/bin/php.old
et puis ln -s /path/to/php/bin/php /usr/bin/php
Ne sais pas où vous avez PHP installé si vous mai besoin de le chercher (phpinfo peut dire où il est)OriginalL'auteur Maramal | 2017-03-20
Vous devez vous connecter pour publier un commentaire.
Il y a un conflit entre le PHP qui est utilisé par Apache et de PHP, qui est lié à la ligne de commande. (Ça arrive plus souvent qu'il ne le devrait pour être honnête).
Ce qui est généralement fait est:
Cela vous indique que php va être expecuted lors de l'exécution en ligne de commande. par exemple,
/usr/bin/php
Puis lien ou une copie de la bonne version de PHP à un chemin de l'exécutable:
ou les éléments suivants doivent également fonctionner.
Également suggéré si vous voulez être en mesure d'installer manuellement les mods:
De cette façon, votre CLI correspondent à votre serveur web.
which php
juste a fonctionné pour moi sur Windows. J'ai remplacéwamp server
avecnginx
et je peux clairement voir que c'est à l'aide de l'wamp PHP encore.OriginalL'auteur apokryfos
Comme une solution alternative, assurez-vous d'avoir installé php7-mysql
essayez d'exécuter la commande ci-dessous
OriginalL'auteur İsmail Atkurt
Même problème, ubuntu 17.10, Laravel 5.5.
$
sudo apt install php7.1-pdo php7.1-mysql
Une belle solution rapide, espérons que cette aide
OriginalL'auteur Devin Norgarb
J'ai eu le même scénario que vous avez. Je ne résoudre mine suivantes:
1) sur votre terminal, tapez
ce sera la sortie de votre courant de php.ini chemin du fichier de configuration.
2) modifier php.ini à l'aide de vim ou votre éditeur préféré.
notez que /etc/php.ini est votre chemin de fichier pour votre php.ini. il peut être différent sur votre ordinateur.
3) trouver ;extension=php_pdo_mysql.dll et décommentez par la suppression du point-virgule (;)
4) enregistrer votre php.ini modifier/s
**5) redémarrez le serveur web pour appliquer les modifications
**6) Maintenant exécuter votre commande.
espère que cette aide pour vous.
OriginalL'auteur doyevaristo
Votre pilote de base de données est manquant. Pour résoudre le probelem
Installez d'abord le pilote
Pour ubuntu: Pour la base de données mysql.
Vous aussi vous pouvez rechercher d'autres systèmes de base de données.
Vous pouvez également rechercher le pilote:
OriginalL'auteur abhishek subedi
clair artisan cache
et
que c'est
OriginalL'auteur Fatih TÜZEN
Vous pouvez essayez la commande suivante
Puis redémarrez votre serveur apache. Après
reconfigurer votre
.env
fichierOriginalL'auteur MF Hossen
En fait, je suis assez sûr que vous n'êtes pas conscient de votre PHP - versions et utilisé le mauvais chemins:
Pour votre fournisseur de version PHP ( 5.6 par sury.org ), vous devez utiliser PHP - commandes "/usr/bin/php", mais lorsque vous utilisez différentes de PHP - versions, comme par exemple ceux de parallels Plesk panel, vous avez des chemins différents:
Votre PHP - commandes pour d'autres possibles les versions de PHP ( version 7.0 et 7.1 si vous avez installé le sury.org PRINCIPAL caee les versions de PHP antérieures à partir de https://launchpad.net/~ondrej/+archive/ubuntu/php ) serait:
Montrer les modules installés pour chaque version de PHP avec l'option "-m" chaîne d'option et utiliser l'option "-i" de la chaîne d'option pour plus d'informations ( exemple ):
D'utiliser le "compositeur", vous serait certainement tout aussi bien utiliser le chemin d'accès COMPLET de votre exécutable PHP ( exemple ):
Supplémentaires "compositeur" - commandes sont alors:
OriginalL'auteur UFHH01