【问题标题】:Running php Doctrine commands via bash script通过 bash 脚本运行 php Doctrine 命令
【发布时间】:2019-02-22 22:54:27
【问题描述】:

我目前正在使用 Symfony 和 Doctrine 开发一个 PHP 应用程序。我现在的目标是创建一个 bash 脚本来构建我的数据库模式和加载装置。我当前的脚本位于 /bin 文件夹中,内容如下:

#!/usr/bin/env bash

php bin/console doctrine:migrations:migrate
php bin/console doctrine:fixtures:load --purge-with-truncate

该脚本是可执行的,当我尝试运行它时 (./create_de.sh),我收到以下错误:

Could not open input file: bin/console

我尝试将脚本更改为以下内容:

#!/usr/bin/env bash

php console doctrine:migrations:migrate
php console doctrine:fixtures:load --purge-with-truncate

但我仍然得到同样的错误,除了没有 bin 部分。

当我通过命令行运行脚本中的命令时,我没有问题。知道为什么这个脚本不起作用吗?

【问题讨论】:

    标签: php bash symfony scripting doctrine


    【解决方案1】:

    您是否尝试过(从bin/dos2unix create_de.sh > create_de_new.sh,然后是./create_de_new.sh

    【讨论】:

      【解决方案2】:

      你检查你的权限了吗,文件bin/console必须有执行权限:

      类似:

      chmod +x bin/console
      

      【讨论】:

        【解决方案3】:

        由于脚本位于 bin 文件夹中,只需将其更改为:

        php ./console doctrine:migrations:migrate
        php ./console doctrine:fixtures:load --purge-with-truncate
        

        编辑:这里没有其他 cmets 建议的任何权限问题,因为控制台文件的权限默认为-rwxr-xr-x,这意味着每个人都可以执行它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-03-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-30
          相关资源
          最近更新 更多