Доктрина Cli в Windows

У меня возникли проблемы с настройкой доктрины orm на окнах 8, php 5.4. Я установил Doctrine с помощью Composer.

Я следил за документами до буквы, но когда я запускаю какие-либо команды, php vendor/bin/doctrine orm:schema-tool:create, например, моя командная строка просто выводит

SRC_DIR="`pwd`"
cd "`dirname "$0"`"
cd "../doctrine/orm/bin"
BIN_TARGET="`pwd`/doctrine"
cd "$SRC_DIR"
"$BIN_TARGET" "[email protected]"

Я также пробовал php vendor/bin/doctrine.php.... но он просто распечатывает выше.

Я следовал руководству Doctrine для письма. Кто-нибудь видел это раньше, и если да, можете ли вы предложить что-нибудь?

Ответы

Ответ 1

я нашел решение

есть также папка bin в vendor/doctrine/orm/bin/вы можете использовать это, как это

php vendor/doctrine/orm/bin/doctrine orm: schema-tool: create

убедитесь, что у вас есть корневая папка, а файл cli-config.php присутствует в корневой папке.

ниже - это место, где я нашел решение

https://groups.google.com/forum/#!msg/doctrine-user/_ph183Kh-5o/_P_coljB-dcJ

это отлично работает для меня.

Ответ 2

У меня была та же проблема. Для меня работало следующее решение:

"vendor/bin/doctrine.bat" orm:schema-tool:create

Итак, в основном вы:

  • используйте файл ".bat", предоставленный Doctrine, и
  • заключить вызов этого файла .bat в кавычки.

Моя окружающая среда

Windows 7 Professional (x64)
PHP 5.5.12
Доктрина ORM 2.4.4

Ответ 3

Не пишите "php..." (он будет записывать содержимое файла)

Просто "vendor\bin\doctrine orm: schema-tool: create" выполните задание (от корня проекта, например: c:\php\theProject).

Далее вам понадобится "cli-config.php" в корне проекта...

Ответ 4

Вы можете установить что-то вроде git bash или просто использовать версию PHP script:

php vendor\bin\doctrine.php orm:info

Очевидно, что двоичный каталог php должен находиться в вашей переменной среды PATH, в противном случае это что-то вроде:

C:\path\to\php.exe vendor\bin\doctrine.php orm:info

Ответ 5

  • Скопируйте doctrine.bat(расположенную по адресу vendor/bin/doctrine.bat) в корневой каталог проекта
  • Создайте файл bootstrap.php по любому пути внутри корневого каталога проекта со следующим содержимым:   

    use Doctrine\ORM\Tools\Setup;
    use Doctrine\ORM\EntityManager;
    
    $paths = array("../model");
    $isDevMode = false;
    $dbParams = array(
        'driver'   => 'pdo_mysql',
        'host' => 'localhost',
        'user'     => 'root',
        'password' => '',
        'dbname'   => 'angular_php',
    );
    
    $config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
    $entityManager = EntityManager::create($dbParams, $config);
    
  • Создайте файл cli-config.php в корневом каталоге проекта со следующим содержимым:

    <?php
    
    use Doctrine\ORM\Tools\Console\ConsoleRunner;
    
    // replace with file to your own project bootstrap
    require_once 'path/to/file/bootstrap.php';
    
    return ConsoleRunner::createHelperSet($entityManager);
    
  • Выполнить из окна командной строки (CMD):

    c:\path\to\project\root\directory>doctrine --help
    
  • Сделано!

Ответ 6

Я обнаружил, что он не возвращал ничего из doctrine.php.bat. Оказывается, это была ошибка PHP в моем файле cli-config.php

Ответ 7

Использование Cygwin в Windows с доктриной, установленной через композитор, имело ту же проблему

разрешено:

vendor/bin/doctrine.bat orm: convert-mapping

Если у вас все еще есть проблемы, вы можете запустить cli script с помощью php, чтобы запустить консольные инструменты:

например

php cli-config.php orm: schema-tool: create

Ответ 8

Для оконной версии используйте обратную косую черту "\"

vendor\bin\doctrine orm:schema-tool:create

не косая черта "/"

vendor/bin/doctrine orm:schema-tool:create