Я успешно установил laravel 5, используя эту команду:
composer create-project laravel/laravel test-laravel-5-project dev-develop --prefer-dist
Я даже проверил версию установленного laravel с помощью команды php artisan -V
. Выход был
Laravel Framework version 5.0-dev
Затем я пошел в app / config / database.php, дал dafault db как mysql и дал конфигурации как
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'Logintestfive'), 'username'=> env('DB_USERNAME', 'root'), 'password'=> env('DB_PASSWORD', 'manasa'), 'charset'=> 'utf-8', 'collation'=> 'utf-8_unicode_ci', prefix=> '', 'strict'=> false, ]
Затем я отправился на localhost:8000/auth/register
и заполнил форму и представил данные, и это ошибка, которую я получил:
PDOException in Connector.php line 47: SQLSTATE[28000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)
Но я не использовал laravel homestead
для установки laravel 5 в своей системе и не использовал vagrant
для создания усадьбы laravel. И это говорит мне вот так:
in Connector.php line 47 at PDO->__construct('mysql:host=localhost;dbname=homestead', 'homestead', 'secret', array('0', '2', '0', false, '0')) in Connector.php line 47 at Connector->createConnection('mysql:host=localhost;dbname=homestead', array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql'), array('0', '2', '0', false, '0')) in MySqlConnector.php line 20 at MySqlConnector->connect(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in compiled.php line 10545 at ConnectionFactory->createSingleConnection(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in compiled.php line 10541 at ConnectionFactory->make(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false), 'mysql') in compiled.php line 10459
Как я могу исправить эти проблемы?
У меня такая же проблема. Я начал свой сервер с помощью команды php artisan serve
и отредактировал файл .env
и обновил веб-страницу, которая не отражала никаких изменений!
Я исправил его, остановив веб-сервер, отредактировав файл .env.php
и перезапустив веб-сервер!
Поэтому я предполагаю, что это кеширование-выпуск файла .env.php
.
Laravel 5.1.10
Как ответы, уже приведенные выше Ганешем и Йорди, но я объединяя их обоих в один.
Проблема :
Когда я пытаюсь создать базу данных в phpmyAdmin и хочу создать схему / таблицу через службу Laravel Schema, я получил следующие ошибки:
PDOException в строке Connector.php 50: SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'homestead' @ 'localhost' (с использованием пароля: YES)
в строке Connector.php 50
в PDO -> __ construct ('mysql: host = localhost; dbname = homestead', 'homestead', 'secret', array ('0', '2', '0', false, '0'))
в строке Connector.php 50
в Connector-> createConnection ('mysql: host = localhost; dbname = homestead', array ('driver' => 'mysql', 'host' => 'localhost', 'database' => 'homestead', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name '=>' mysql '), array (' 0 ',' 2 ',' 0 ', false,' 0 ')) в MySqlConnector.php строка 22 в MySqlConnector-> connect (array (' driver '=>' mysql ',' host '=>' localhost ',' database '=>' homestead ',' username '=>' homestead ',' password '=>' secret ',' charset '=>' utf8 ',' collation ' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) ………….
Решение 1:
Затем я понял, что проблемы были в файле env, я забыл изменить значения в файле env. Файл .env находится в корневом каталоге laravel 5, открывая файл и изменяя следующие значения с вашими
DB_DATABASE = localhost,
DB_USERNAME = имя_базы данных,
DB_PASSWORD = databse-user-password
Решение 2:
Или измените файл database.php без env () как Ganesh syas:
// instead of this block 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'your database name'), 'username' => env('DB_USERNAME', 'your database username'), 'password' => env('DB_PASSWORD', 'your database password'), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ], // use this one 'mysql' => [ 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'your database name', 'username' => 'your database username', 'password' => 'your database password', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ]
Оба решения работали для меня.
Laravel использует переменные, содержащиеся в вашем .env
файле.
От: http://laravel.com/docs/master/configuration
Часто бывает полезно иметь разные значения конфигурации на основе среды, в которой работает приложение. Например, вы можете использовать другой драйвер кэша локально, чем на своем производственном сервере. Легко использовать конфигурацию на основе среды.
Laravel использует библиотеку DotEnv PHP от Vance Lucas. В новой установке Laravel корневой каталог вашего приложения будет содержать файл .env.example. Если вы установите Laravel через Composer, этот файл будет автоматически переименован в .env. В противном случае вы должны переименовать файл вручную.
Все переменные, перечисленные в этом файле, будут загружены в супер-глобальный PHP $ _ENV, когда ваше приложение получит запрос. Вы можете использовать помощник env для извлечения значений из этих переменных. Фактически, если вы просмотрите конфигурационные файлы Laravel, вы заметите несколько вариантов, уже использующих этот помощник!
Не стесняйтесь изменять переменные среды по мере необходимости для собственного локального сервера, а также для вашей производственной среды. Однако ваш .env-файл не должен быть привязан к исходному элементу вашего приложения, поскольку для каждого разработчика / сервера, использующего ваше приложение, может потребоваться другая конфигурация среды.
Если вы работаете с командой, вы можете продолжить работу с файлом .env.example с вашим приложением. Поместив значения владельца места в примерный файл конфигурации, другие разработчики в вашей команде могут четко видеть, какие переменные среды необходимы для запуска вашего приложения.
Файл .env по умолчанию выглядит примерно так:
APP_ENV=local APP_DEBUG=true APP_KEY=YOUR_KEY_HERE DB_HOST=localhost DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret CACHE_DRIVER=file SESSION_DRIVER=file
У меня та же проблема. После использования команды «php artisan config: clear», чтобы очистить старый файл кеша конфигурации, он может работать. Может быть, вы можете попробовать.
Кстати, мой английский не очень хорош, надеюсь, что вы поймете.
Laravel использует файл .env, поэтому измените файл .env или измените файл database.php без env ()
'mysql' => [ 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'your database name', 'username' => 'your database username', 'password' => 'your database password', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ]
В Config-> database.php
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'DBName'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, ],
В файле .env:
DB_HOST=localhost DB_PORT=3306 DB_DATABASE=DBName DB_USERNAME=root DB_PASSWORD=
Закройте сервер приложений laravel и снова перезапустите его для очистки кеша.
php artisan serve
Или вы можете сделать:
php artisan config:clear
Это очистит кеш в файлах конфигурации.
Теперь это определенно сработает! Ура!
У меня была очень похожая проблема, и я не знал, где искать. Я очистил кеш, перезапустил сервер и т. Д., Без радости. Пока я не нашел …
Прежде чем я вернусь к предыдущей версии в Git repo, я использовал мой драйвер сеанса для использования базы данных ! Глупо, но это не обязательно соединение с базой данных, что вам нужно посмотреть, но вместо этого вы вызываете базу данных, которая будет использоваться в первую очередь.
Я надеюсь, что кто-то, кто окажется на этой странице так, как я сделал, найдет это полезным.
У меня одинаковые выпуски, редактируйте файл .env
в корневой папке и измените конфигурацию базы данных DB_DATABASE
DB_USERNAME
DB_PASSWORD
Внутри вашего laravel например. c: / www / laravel, создайте новый каталог под названием «local» внутри приложения / config.Copy database.php (app / config / database.php). Это работает для меня
Да, у меня были те же проблемы, когда все прошло хорошо, начиная с установки миграции до миграции php artisan. Но когда я попытался создать пользователя, доступ запрещен.
Решение, которое я нашел, заключалось в том, чтобы закрыть ctrl + d, чтобы завершить работу сервера и перезапустить. Я работал… ðŸ™‚
вы можете перезагрузить свой сервер. Я думаю, что это ошибка catch в Laravel, поэтому снова запустите свой сервер с помощью «php artisan serve» и обновите страницу своего сайта. Все в порядке.
для меня
sudo service apache2 reload
сделал работу