Doctrine 2 命令行打印 Cygwin 配置

Doctrine 2 Command line print Cygwin configuration

我正在尝试在我的项目中使用 Doctrine 2,但是当我尝试访问命令行以从我的数据库导入实体以生成文件时,它会打印来自 vendor/bin/doctrine[=16 的代码=]

dir=$(d=${0%[/\]*}; cd "$d"; cd '../doctrine/orm/bin' && pwd)

# See if we are running in Cygwin by checking for cygpath program
if command -v 'cygpath' >/dev/null 2>&1; then
    # Cygwin paths start with /cygdrive/ which will break windows PHP,
    # so we need to translate the dir path to windows format. However
    # we could be using cygwin PHP which does not require this, so we
    # test if the path to PHP starts with /cygdrive/ rather than /usr/bin
    if [[ $(which php) == /cygdrive/* ]]; then
            dir=$(cygpath -m $dir);
    fi
fi

dir=$(echo $dir | sed 's/ /\ /g')
"${dir}/doctrine.php" "$@"

我的文件夹结构:

src/
vendor/
bootstrap.php
cli-config.php
composer.json
composer.lock
index.php

bootstrap.php

<?php

require_once "vendor/autoload.php";

use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;

$paths = array("src/Entity");
$isDevMode = false;

// the connection configuration
$dbParams = array(
    'driver'   => 'pdo_mysql',
    'user'     => '',
    'password' => '',
    'dbname'   => '',
);

$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 'bootstrap.php';

// replace with mechanism to retrieve EntityManager in your app
$entityManager = GetEntityManager();

return ConsoleRunner::createHelperSet($entityManager);

我正在尝试在我的命令行中使用:php vendor/bin/doctrine --help。我也在 Ubuntu 14.01.

中使用 Vagrant

我没有使用 Symfony 2,只是想在没有任何框架的情况下安装 Doctrine。

谢谢。

我在 windows 设置中遇到了同样的错误,这个命令解决了它:

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

来源: http://www.agevaled.com/2013/10/09/doctrine2-getting-started-issues/2147483647/

在 Windows 上,运行 的正确命令是:

vendor/bin/doctrine.bat