2015-09-04 5 views
1

Как только я нажимаю команду «php artisan migrate» на терминале ubuntu. Ошибка: [PDOException] Не удалось найти драйверphp artisan migrate - Laravel

Я не могу решить эту проблему, поскольку я новичок в ней.

Пожалуйста, помогите мне исправить эту проблему.

enter image description here enter image description here

+1

[Взгляните на это] (HTTPS://www.google.ro/search?client=ubuntu&channel=fs&q=[PDOException]+Could+Not+Find+Driver&ie=utf-8&oe=utf-8&gws_rd=cr&ei=mKbpVYftI4X9UIj7tcgL) – Andrew

+0

Ok Mr. @Andrew. –

+0

У вас есть отдельные конфигурации php для вашей CLI? Возможно, модули не загружаются только в CLI –

ответ

-1

Я внес изменения в «Project-Folder-Name/config/database.php». И это сработало. Добавлен 'UNIX_SOCKET' => '/opt/lampp/var/mysql/mysql.sock',

'mysql' => [ 
      'driver' => 'mysql', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE', 'DatabaseName'), 
      'username' => env('DB_USERNAME', 'root'), 
      'password' => env('DB_PASSWORD', ''), 
     'unix_socket' => '/opt/lampp/var/mysql/mysql.sock', //Your sock got from above 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
      'strict' => false, 
     ], 
+0

Это неправильные решения, потому что /opt/lampp/var/mysql/mysql.sock далек от настройки по умолчанию, и это приведет к поломке вашего приложения в других средах/системах. –

1

Yo должен включить расширение PDO для вас Database Manager в вас php.ini

;extension=php_pdo_firebird.dll 
;extension=php_pdo_mssql.dll 
;extension=php_pdo_mysql.dll 
;extension=php_pdo_oci.dll 
;extension=php_pdo_odbc.dll 
extension=php_pdo_pgsql.dll //In my Case the extension enable is for pgsql 
;extension=php_pdo_sqlite.dll 

Для включения следует удалить; char в строке расширения перезапустить сервер и voila

+0

Привет, мистер Пастор. Я ждал только этого ответа. Поскольку я искал много ответов, отправленных в стек над потоком. Все спрашивают, включен ли PDO или нет. Но для меня доступно расширение «= расширение = php_pdo_mssql.dll». Таким образом, он включен. Теперь, что делать дальше? –

+0

Мне нужно установить php5-sqlite? –

+0

Ну, у вас есть это? Расширение php-mssql. sudo apt-get install php5-php5-sybase и более поздняя установка груши --nodeps MDB2_Driver_mssql –

-1

Я думаю, что у вас есть разделенным файл конфигурации (php.ini) для вашего CLI.

Попробуйте выполнить php -i | grep php.ini в вашей консоли. И включите необходимые модули в этот файл.

Она должна возвращать что-то вроде этого:

[email protected]:~$ php -i | grep php.ini 
Configuration File (php.ini) Path => /etc/php5/cli 
Loaded Configuration File => /etc/php5/cli/php.ini 

Как вы можете видеть, он использует другой файл php.ini, то какой phpinfo(); возвращает

Открыть этот файл и включить необходимые расширения там

, так измените линии требуемых расширений: ;extension=extension.so до extension=extension.so

Также подсказка: Если вы используете Laravel вы можете использовать Homestead (бродяга, VirtualBox), который является виртуальной машиной полного предустановленным для вас Laravel приложению

http://laravel.com/docs/5.1/homestead

+0

Любые причины для downvotes? –

Смежные вопросы