Ik heb een slechte ervaring met het installeren van laravel. Ik was echter in staat om dit te doen en naar het volgende niveau te gaan. Ik gebruikte generatoren en maakte mijn migraties.
Maar als ik het laatste commando typ
php artisan migrate
Het geeft een PDOException – kon het stuurprogramma niet vinden.
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'database' => 'database',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
Dat is mijn configuratie in config/database.php.
Ik heb geprobeerd te zoeken op stackoverflow- en laravel-forums en mensen suggereren dat het een PDO-probleem is en niet artisanaal of php’s – ik volgde die suggesties zoals het toevoegen van
extension=pgsql.so
extension=pdo_pgsql.so
in php.ini
Geen positief resultaat. Er staat altijd [PDOException]could not find driver.
Kan iemand me alsjeblieft helpen dit op te lossen.
Omgeving die ik gebruik: Mac, laravel 4, MAMP PRO met php 5.4.4
Antwoord 1, autoriteit 100%
U kunt gebruiken
sudo apt-get install php7-mysql
of
sudo apt-get install php5-mysql
of
sudo apt-get install php-mysql
Dit werkte voor mij.
Antwoord 2, autoriteit 22%
U moet de plug-in pdo_mysql specifiek inschakelen. Ervan uitgaande dat u een standaard PHP-installatie gebruikt, hoeft u dit over het algemeen gewoon aan uw PHP.ini-bestand toe te voegen:
extension=pdo_mysql.so
U moet er echter voor zorgen dat dit bestand in de extensiemap aanwezig is.
Het toevoegen van pdo_pgsql.so
helpt niet omdat dat voor PostgreSQL is.
Bovendien moet u ervoor zorgen dat u de webserver opnieuw opstart nadat u de wijzigingen in het PHP ini-bestand heeft aangebracht, aangezien de wijzigingen anders mogelijk niet worden weergegeven.
Antwoord 3, autoriteit 22%
Dit werkte voor mij:
sudo apt-get install php5-sqlite
Hiermee installeerde ik sqlite voor php5, daarna voerde ik de opdracht php artisan migreren opnieuw uit en werkte perfect.
Antwoord 4, autoriteit 15%
Ook hier tegen hetzelfde probleem aangelopen, en het blijkt dat dit komt omdat PHP op de opdrachtregel een ander php.ini
-bestand gebruikt dan de browserversie, en daarom lijkt het alsof het de extensie laadt correct als je naar phpinfo()
kijkt in een browser.
Volgens dit antwoordhoeft u alleen het volgende uit te voeren:
php --ini
Op de opdrachtregel, die u het pad naar de momenteel geladen php.ini
vertelt (waarschijnlijk een php-cli.ini
-bestand op dezelfde plaats als uw gewone php.ini
-bestand).
Zodra u dat heeft gevonden, wijzigt u het met de gewenste pdo-extensies (in dit geval voor MySQL):
extension=pdo_mysql.so
Of, voor alle andere gebruikers van Windows die een of andere WAMP-server gebruiken, ziet het er in plaats daarvan waarschijnlijk zo uit:
extension=php_pdo_mysql.dll
Antwoord 5, autoriteit 7%
Ik denk dat je de mysql-driver voor php5 hebt gemist.
Voer onderstaande opdracht uit:
sudo apt-get install php5-mysql
/etc/init.d/php5-fpm restart
Antwoord 6, autoriteit 4%
Controleer ook uw Laravel .env
-bestand. Zorg ervoor dat DB_CONNECTION=mysql
anders werkt het niet met MySQL. Het probeerde iets anders te laden.
Antwoord 7, autoriteit 4%
Je mist een BOB-stuurprogramma.
Installeer eerst het stuurprogramma
Voor ubuntu: voor mysql-database.
sudo apt-get install php5.6-mysql/php7.2-mysql
U kunt ook naar andere databasesystemen zoeken.
U kunt ook naar de bestuurder zoeken:
sudo apt-cache search drivername
Then Run the cmd php artisan migrate
Antwoord 8, autoriteit 4%
Je moet de nieuwste versie van php mysql
installeren
in mijn geval installeer ik php7.1-mysql
Probeer dit
sudo apt-get install php7.1-mysql
Ik gebruik de nieuwste versie van laravel
Antwoord 9, autoriteit 2%
Had hetzelfde probleem en kwam er net achter dat de website draait onder MAMP’s php, maar als je het commando inroept, draait het mac’s (als er geen bash-pad is gewijzigd). je zult een probleem hebben als mac die extensies niet heeft.
voer php -i uit om de geladen extensies te vinden en installeer de extensies die je hebt gemist. of voer ‘/Applications/MAMP/bin/php/php5.3.6/bin/php artisan {your command}’ uit om MAMP’s te gebruiken
Antwoord 10, autoriteit 2%
Ik kreeg ook dezelfde foutmelding –> “[PDOException]
kan stuurprogramma niet vinden “
Daarna heb ik veel commando’s gebruikt, maar ik kreeg geen hulp
Uiteindelijk gebruikte ik de volgende opdracht, waarmee mijn probleem werd opgelost.
sudo apt-get install php5-sqlite
Antwoord 11, autoriteit 2%
Laravel-testenmet sqlitevereist php pdo sqlite-stuurprogramma’s
Voor Ubuntu 14.04
sudo apt-get install php5-sqlite
sudo service apache2 restart
In ubuntu 16.04 is er geen php5-sqlite
sudo apt-get install php7.0-sqlite
sudo service apache2 restart
Antwoord 12, autoriteit 2%
Ik kreeg deze fout voor de PostgreSQL en de oplossing is:
sudo apt-get install php7.1-pgsql
Je hoeft alleen je geïnstalleerde PHP-versie te gebruiken, de mijne is 7.1.
Dit heeft het probleem voor PostgreSQL opgelost.
Antwoord 13
Ik zing ubuntu 14.04 af
Het onderstaande commando loste dit probleem voor mij op.
sudo apt-get install php-mysql
In mijn geval kreeg ik na het updaten van mijn php-versie van 5.5.9 naar 7.0.8 deze foutmelding, inclusief twee andere fouten.
fouten:
-
laravel/framework v5.2.14 vereist ext-mbstring * -> de gevraagde PHP-extensie mbstring ontbreekt op uw systeem.
-
phpunit/phpunit 4.8.22 vereist ext-dom * -> de gevraagde PHP-extensie dom ontbreekt op uw systeem.
-
[PDOException]
kon stuurprogramma niet vinden
Oplossingen:
Ik heb deze pakketten geïnstalleerd en mijn problemen zijn verdwenen.
sudo apt-get install php-mbstring
sudo apt-get install php-xml
sudo apt-get install php-mysql
Antwoord 14
Ik had dit probleem op debian. Het probleem was dat ik de dotdeb-repository gebruikte voor recentere PHP-pakketten. Om de een of andere reden heeft het de php cli geüpdatet naar 7.0, terwijl het web php binaire bestand php 5.6 bleef. Ik heb dit antwoordgebruikt om de binaire php-opdrachtregel te koppelen aan de 5.6-versie, zoals:
$ sudo ln -sfn /usr/bin/php5 /etc/alternatives/php
Antwoord 15
Dit werkte bij mij:(voor pgsql: gebruik ‘pgsql’ in plaats van ‘mysql’)
Stap 1)
sudo apt-get install php-mysql
Stap 2)
php artisan config:clear
Stap 3)
php artisan config:cache
Stap 4)
Start vervolgens uw server opnieuw op, genereer opnieuw een sleutel en migreer deze, het is klaar
Antwoord 16
controleer eerst uw php-versie als volgt:
php -v
nadat u bijvoorbeeld het versienummer krijgt, krijg ik 7.1en installeer het dan zo
sudo apt-get install php7.1-sqlite //for laravel testing with sqlite
sudo apt-get install php-mysql //for default mysql
sudo apt-get install php7.1-mysql //for version based mysql
sudo apt-get install php7.1-common //for other necessary package for php
en moet apache2 opnieuw opstarten
sudo service apache2 restart
Antwoord 17
Voor toekomstige zoekers.
Probeer op FreeBSD de volgende
pkg_info | grep php5-pdo_mysql
als je de lege regel ziet, doe dan het volgende:
cd /usr/ports/databases/php5-pdo_mysql
en de installatie uitvoeren
make install clean
start dan gewoon je apache opnieuw en je bent klaar
bijv. sudo /usr/local/etc/rc.d/apache22 restart
Antwoord 18
Installeer het via dit commando
sudo apt-get install php5-gd
dit werkte voor mij.
Antwoord 19
In mijn geval was ik me er niet van bewust dat de PHP van Apache anders was dan die van CLI. Dat kan het geval zijn als je tijdens de configuratie in httpd.conf een PHP-module hebt opgegeven, die niet de standaardmodule is die je CLI gebruikt.
Antwoord 20
Ik heb de juiste oplossing voor deze fout gevonden! Of je hebt geen database geïnstalleerd of je standaarddatabase in dit bestand
config/database.php
is ingesteld op een andere database zoals deze
'default' => 'sqlite',
'default' => env('DB_CONNECTION', 'sqlite'), //laravel 5.2
wijzig de standaard die je hebt geïnstalleerd of installeer die database die als standaard is ingesteld! Ik had mysql geïnstalleerd en php artisan migreren werkte nadat ik die regel in deze had veranderd:
'default' => 'mysql',
'default' => env('DB_CONNECTION', 'mysql'), //laravel5.2
Antwoord 21
Ik kreeg ook dezelfde foutmelding –> “[PDO-uitzondering]
kan stuurprogramma niet vinden “
Ik realiseerde me dat de php naar /usr/bin/php verwees in plaats van naar de lampp /opt/lampp/bin/php, dus ik maakte gewoon
en alias
alias php=”/opt/lampp/bin/php”
moest ook het .env-bestand bijwerken om ervoor te zorgen dat de inloggegevens voor de databasetoegang werden bijgewerkt.
En raad eens, het werkte!
Antwoord 22
Als je Laravel 5.x gebruikt en de fout komt door het proberen om de kenmerken van een kolom te wijzigen, is het mogelijk dat de fout wordt veroorzaakt door een ontbrekende vereiste.
Probeer dit:
composer require doctrine/dbal
Probeer vervolgens uw migraties uit te voeren.
Vanaf hier:
https://laravel.com/docs/master/migrations#modifying-columns
Antwoord 23
Als je een arch-gebaseerd systeem gebruikt zoals in manjaro
gebruik gewoon
sudo pacman -S php-sqlite
Herstart je httpd
systemctl restart httpd
Antwoord 24
voor die gebruikers van windows 10 en WAMPdie dit bericht hebben gevonden, heb ik een oplossing.Ga naar deze link. Het werkte voor mij en het was moeilijk om tot de oplossing te komen, maar ik hoop dat het in de toekomst anderen kan helpen.
Antwoord 25
Ervan uitgaande dat je de normale installatie hebt gedaan met virtual box, vagrant etc..
Dit kan nieuwe mensen overkomen.
PHP kan op uw pc worden geïnstalleerd, maar alle PHP-modules voor uw laravel-project staan op uw VM
Dus om toegang te krijgen tot uw VM, gaat u naar uw homestead-map en typt u:
zwerver ssh
om vervolgens uw projectpad te volgen en de php artisan-migratie uit te voeren.
Antwoord 26
Het is een probleem met MAC en MAMP.
Probeer dit aan je .env-bestand toe te voegen:
DB_SOCKET= /Applications/MAMP/tmp/mysql/mysql.sock
Het werkt voor mij