我继承了一个基于Yii 1.1的旧的遗留系统,在过去的10年里,有多个开发团队在开发它,所以只有很少甚至没有文档的情况下有点混乱。
Docker在过去使用过,我可以在Docker上运行,但是在实时EB/EC2实例上,迁移文件不会从命令行运行。
命令:
php vendor/bin/doctrine-migrations status
抛出错误
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:
#!/usr/bin/env php
<?php
declare(strict_types=1);
namespace Doctrine\Migrations;
require __DIR__ . '/doctrine-migrations.php';发布于 2021-12-03 15:12:55
在composer.lock文件中声明的conposer install安装包。您的composer.lock文件是在执行第一次composer install、composer update或composer require时生成的
您的local环境和production环境之间可能存在差异。实际上,在本地,composer install安装了一些仅在dev模式下才需要捆绑包(请参阅composer.json中的require-dev部件)。
composer.lock文件与composer.json文件不是最新的(如果composer.json包含所需的捆绑包)或者所需的捆绑包设置为require-dev
要安装它,您可以运行composer install doctrine/doctrine-migrations-bundle
https://stackoverflow.com/questions/70202240
复制相似问题