2016-10-08 3 views
0

Я новичок в Symfony и начал делать некоторые уроки для того, чтобы кое-что сделать. Я работаю над машиной Linux Mint 18 и стандартным проектом Symfony3.Symfony3 - SQLSTATE [HY000] [2002] Нет такого файла или каталога

Я хотел бы создать простую базу данных, чтобы поиграть с ней, но я столкнулся с ошибкой, в которой я не могу найти правильное решение.

Мой файл parameters.yml выглядит следующим образом:

parameters: 
    database_host: localhost 
    database_port: null 
    database_name: symfony 
    database_user: root 
    database_password: null 
    mailer_transport: smtp 
    mailer_host: 127.0.0.1 
    mailer_user: null 
    mailer_password: null 
    secret: (not relevant) 

Мой Genus.php файл выглядит следующим образом:

namespace AppBundle\Genus; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* @ORM\Entity 
* @ORM\Table(name="genus") 
*/ 
class Genus 
{ 
    /** 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    * @ORM\Column(type="integer") 
    */ 
    private $id; 
    /** 
    * @ORM\Column(type="string") 
    */ 
    private $name; 

} 

Когда я выполнить команду DPKG -l PHP * MySQL I получите следующий результат:

dpkg -l php*mysql 
Desired=Unknown/Install/Remove/Purge/Hold 
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend 
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) 
||/ Name    Version  Architecture Description 
+++-=================-=============-=============-============================ 
un php-pdo-mysql  <none>  <none>  (no description available) 
ii php7.0-mysql  7.0.8-0ubuntu amd64   MySQL module for PHP 
un php7.0-pdo-mysql <none>  <none>  (no description available) 

Когда я пытаюсь создать lo базы данных кал с помощью командной строки, используя

[email protected] ~/PhpstormProjects/test_symfony $ php bin/console doctrine:database:create 

Это то, что я получаю:

[Учение \ DBAL \ Exception \ ConnectionException]
Исключение произошло в драйвере: SQLSTATE [HY000] [2002] нет такого файла или каталога
[Учение \ DBAL \ Driver \ PDOException] SQLSTATE [HY000] [2002] нет такого файла или каталога
[PDOException] SQLSTATE [ГИ 000] [2002] Нет такого файла или каталога

Я столкнулся со многими другими темами, но не смог найти правильный ответ. Может ли кто-нибудь сказать мне, что мне здесь не хватает? Любая помощь очень ценится :)

+1

сервер mysql установлен? –

+1

(1) Пожалуйста, проверьте свой '/ etc/php.ini'. Найдите то, что используется сокет по умолчанию, который вы используете для подключения localhost. (2) Проверьте, существует ли гнездо или нет. –

+0

Настройки сокета по умолчанию должны быть 'mysql.default_socket' в разделе' mysql'. –

ответ

0

[PDOException] SQLSTATE [HY000] [2002] Нет такого файла или каталога

Эта ошибка обычно происходит, когда ваш веб-приложение не подключен к базе данных. По вашему parameter.yml он ищет сервер mysql & не подключался, потому что в то время mysql не был установлен там на вашем компьютере.

0

Мои знания MySQL предлагает один вариант, который может произойти, и объяснить это:

Вы имели (старый) MYSQLD бег, затем удаляются все файлы из DATADIR. Тогда, вероятно, новому серверу не удалось запустить Затем вы подключились к этой старой mysqld, которая все еще работает, но при получении ошибки «Нет такого файла или каталога» пытается получить доступ к собственным системным файлам (которые были удалены).

0

Может быть уже слишком поздно, но я был один и тот же вопрос «SQLSTATE [HY000] [2002] Нет такого файла или каталога» на моем Symfony 3.2.9 развертывание

Я установил ее, изменив значение database_host из " localhost "на мой IP-адрес сервера по моим параметрам.YML файл

, но у меня было это еще одно сообщение об ошибке при попытке запустить командную строку с помощью SSH:

[Doctrine\DBAL\Exception\ConnectionException] 
An exception occured in driver: SQLSTATE[HY000] [2002] Connection refused 

Я, наконец исправить, добавив эти 2 линии на моем файле config.yml в разделе конфигурации Doctrine:

unix_socket: /var/lib/mysql/mysql.sock 
server_version: '5.5' 

вся моя окончательная конфигурация доктрина такова:

doctrine: 
    dbal: 
     driver: pdo_mysql 
     host: '%database_host%' 
     port: '%database_port%' 
     dbname: '%database_name%' 
     user: '%database_user%' 
     password: '%database_password%' 
     unix_socket: /var/lib/mysql/mysql.sock 
     server_version: '5.5' 
     charset: UTF8 

надеюсь, это помогает кому-то

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