Intereting Posts
Асинхронные / параллельные HTTP-запросы с использованием PHP curl_multi Специальные символы в FPDF с PHP Запрос AJAX POST через jQuery и FormData – $ _POST пуст на PHP Почему я получаю «неопределенную переменную» в представлении Laravel? PHP читает массив Javascript Как переформатировать строку Как создать заказ в WordPress API Woocommerce 4.3 Добавить новый столбец в существующую таблицу при миграции Как добавить параметр в URL? Как запустить PHP-скрипт в фоновом режиме после отправки формы? Использование PHP и нового API Twitter Метод (например, через скрипт bash), чтобы превратить индексы php-массива в настоящее время с использованием констант в индексы массивов с использованием одинарных кавычек? Вызов неопределенного метода Illuminate \ Database \ Query \ Builder :: lists () при посеве после обновления до Laravel 5.3 Как получить конструктор класса PHP для вызова его родительского конструктора mysql извлекает данные по нескольким полям

Устранение неполадок «Нет такого файла или каталога» при запуске «php app / console doctrine: schema: create`

Я новичок в Symfony2 (beta4) и Doctrine, и у меня возникают проблемы, когда я пытаюсь создать схему DB через командную строку.

Вот ошибка:

$ php app/console doctrine:schema:create Creating database schema... [PDOException] SQLSTATE[HY000] [2002] No such file or directory [ErrorException] Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) in /Applications/MAMP/htdocs/sf-test-2/vendor/doctrine-dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php line 36 

Параметры базы данных mysql правильно вставляются в файл config / parameters.ini.

И вот конфигурация Doctrine в config.yml

 # Doctrine Configuration doctrine: dbal: driver: %database_driver% host: %database_host% dbname: %database_name% user: %database_user% password: %database_password% orm: auto_generate_proxy_classes: %kernel.debug% auto_mapping: true 

И объект (я сделал только один, чтобы проверить его)

 <?php // src/Acme/NewsBundle/Entity/Article.php namespace Acme\NewsBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="articles") */ class Article { /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * @ORM\Column(type="string", length="255") */ protected $title; /** * @ORM\Column(type="text") */ protected $body; /** * @ORM\Column(type="string", length="255") */ protected $author; /** * @ORM\Column(type="date") */ protected $date; } ?> 

Solutions Collecting From Web of "Устранение неполадок «Нет такого файла или каталога» при запуске «php app / console doctrine: schema: create`"

Слишком поздно, но я надеюсь, что это может помочь кому-то.

Только сегодня я попадаю в аналогичную ситуацию (но в другом контексте я пытался создать сущности из db).

Я решил это просто изменить database_host от «localhost» до «127.0.0.1» в файле parameters.ini.

Я думаю, что мой экземпляр Mysql работает только через TCP, а не сокет, и потому, что при использовании database_host = "localhost" он терпит неудачу.

Попробуйте добавить эту строку

 unix_socket: /tmp/mysql.sock 

в ваш файл config.yml> doctrine> dbal сразу после строки пароля.

Я изменил 'host' => 'localhost' на 'host' => '127.0.0.1' на app / config / database.php, и все работает правильно

Я исправил это, выполнив этот небольшой учебник: http://andreys.info/blog/2007-11-07/configuring-terminal-to-work-with-mamp-mysql-on-leopard

[EDIT]: Я изменил правильный php.ini, и теперь все работает нормально.

Теперь я получаю следующую ошибку:

 [Exception] DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead 

Вот конфигурация date.timezone в php.ini

 date.timezone = "Europe/Paris" 

Я постараюсь понять это сам, но если кто-то из вас знает, как это исправить, не стесняйтесь комментировать это. Благодаря!

Проблема для меня была в параметре mysql.default_socket в PHP.INI по умолчанию в другом месте, чем где MySQL фактически помещает этот файл.

Вместо редактирования файлов конфигурации я создал псевдоним в местоположении, которое ищет PHP, который подключается к реальному mysql.sock.

Просто запустите эти две команды (перезагрузка не требуется):

 mkdir /var/mysql ln -s /tmp/mysql.sock /var/mysql/mysql.sock 

Иногда у вас может быть несколько решений для маршрута расположения mysql.lock. Но я думаю, что лучшее решение – это просто увидеть путь местоположения mysql, используя phpinfo() php phpinfo() .

Примечание: если вы не знакомы с phpinfo() , просто создайте файл, укажите любое имя и phpinfo() содержимое этого файла, как это

 <?php phpinfo(); ?> 

запустите этот файл и получите путь к файлу mysql.lock. Я думаю, это поможет.

Стоит проверить, работает ли Mysql.

Слишком поздно, но надеюсь, что это тоже поможет кому-то.

Я использую Vagrant

Просто измените localhost на 127.0.0.1 и измените порт на 3333

работал отлично.

Я думаю, что просто перезапустите mysql и apache, это работает для меня.

Перезапуск mysql работал для меня:

sudo /etc/init.d/mysql restart