首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Composer未生成规则-将PHP文件迁移到供应商/bin目录

Composer未生成规则-将PHP文件迁移到供应商/bin目录
EN

Stack Overflow用户
提问于 2021-12-02 15:32:12
回答 1查看 36关注 0票数 0

我继承了一个基于Yii 1.1的旧的遗留系统,在过去的10年里,有多个开发团队在开发它,所以只有很少甚至没有文档的情况下有点混乱。

Docker在过去使用过,我可以在Docker上运行,但是在实时EB/EC2实例上,迁移文件不会从命令行运行。

命令:

php vendor/bin/doctrine-migrations status

抛出错误

代码语言:javascript
复制
PHP Warning:  require(/var/app/current/site/vendor/bin/doctrine-migrations.php): failed to open stream: No such file or directory in /var/app/current/site/vendor/bin/doctrine-migrations on line 8 

PHP Fatal error:  require(): Failed opening required '/var/app/current/site/vendor/bin/doctrine-migrations.php' (include_path='.:/usr/share/pear7:/usr/share/php7') in /var/app/current/site/vendor/bin/doctrine-migrations on line 8

对比我的本地环境和实时服务器,在dev服务器上的vendor/bin中没有创建doctrine Migrations.php文件,而composer应该已经创建了该文件,并且正在查找该文件。Composer install在每次部署的构建过程中都会运行,但我不明白为什么它不能自动生成/bin目录中的这个文件--它只是另一个名为doctrine migrations的文件,它几乎只需要doctrine Migrations.php:

代码语言:javascript
复制
#!/usr/bin/env php
<?php

declare(strict_types=1);

namespace Doctrine\Migrations;

require __DIR__ . '/doctrine-migrations.php';
EN

回答 1

Stack Overflow用户

发布于 2021-12-03 15:12:55

composer.lock文件中声明的conposer install安装包。您的composer.lock文件是在执行第一次composer installcomposer updatecomposer require时生成的

您的local环境和production环境之间可能存在差异。实际上,在本地,composer install安装了一些仅在dev模式下才需要捆绑包(请参阅composer.json中的require-dev部件)。

composer.lock文件与composer.json文件不是最新的(如果composer.json包含所需的捆绑包)或者所需的捆绑包设置为require-dev

要安装它,您可以运行composer install doctrine/doctrine-migrations-bundle

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70202240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档