./yii 无输出的排查分析
1、参考网址:https://www.shuijingwanwq.com/2021/04/15/4859/ 。基于 Composer 更新 Yii 2 至最新版本,将 Yii Framework 从 2.0.35 版本升级到 2.0.41.1。./yii 无输出。如图1
1 2 | [root@api-78b4b688b4-l26vd ccp_api]# ./yii [root@api-78b4b688b4-l26vd ccp_api]# |
2、./yii 有输出的正常情况。如图2
3、编辑 ./yii 文件,有输出:0。如图3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #!/usr/bin/env php <?php /** * Yii console bootstrap file. */ defined( 'YII_DEBUG' ) or define( 'YII_DEBUG' , true); defined( 'YII_ENV' ) or define( 'YII_ENV' , 'dev' ); echo 0; exit ; require __DIR__ . '/vendor/autoload.php' ; require __DIR__ . '/vendor/yiisoft/yii2/Yii.php' ; require __DIR__ . '/common/config/bootstrap.php' ; require __DIR__ . '/console/config/bootstrap.php' ; $config = yii\helpers\ArrayHelper::merge( require __DIR__ . '/common/config/main.php' , require __DIR__ . '/common/config/main-local.php' , require __DIR__ . '/console/config/main.php' , require __DIR__ . '/console/config/main-local.php' ); $application = new yii\console\Application( $config ); $exitCode = $application ->run(); exit ( $exitCode ); |
4、编辑 ./yii 文件,无输出。可以确定与 /vendor 存在关系了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php /** * Yii console bootstrap file. */ defined( 'YII_DEBUG' ) or define( 'YII_DEBUG' , true); defined( 'YII_ENV' ) or define( 'YII_ENV' , 'dev' ); require __DIR__ . '/vendor/autoload.php' ; echo 1; exit ; require __DIR__ . '/vendor/yiisoft/yii2/Yii.php' ; require __DIR__ . '/common/config/bootstrap.php' ; require __DIR__ . '/console/config/bootstrap.php' ; $config = yii\helpers\ArrayHelper::merge( require __DIR__ . '/common/config/main.php' , require __DIR__ . '/common/config/main-local.php' , require __DIR__ . '/console/config/main.php' , require __DIR__ . '/console/config/main-local.php' ); $application = new yii\console\Application( $config ); $exitCode = $application ->run(); exit ( $exitCode ); |
5、在本地环境中是正常的。如图4
6、对比开发环境与本地环境,/vendor 的差异。因为 /vendor 是放在 Git 中的。chore:再次添加 /vendor。./yii 有输出。如图5
7、在另外一个工程中,即使按照如上的方式处理后,仍然无输出。如图6
1 2 | [root@api-6b9cd4ddb5-hcrks pcs_api]# ./yii [root@api-6b9cd4ddb5-hcrks pcs_api]# |
8、删除 /vendor,删除 composer.lock,提交。添加 /vendor,添加 composer.lock,提交。./yii 有输出。如图7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [root@api-747859c976-7zj7g pcs_api]# ./yii This is Yii version 2.0.41.1. The following commands are available: - asset Allows you to combine and compress your JavaScript and CSS files. asset/compress (default) Combines and compresses the asset files according to the given configuration. asset/template Creates template of configuration file for [[actionCompress]]. - cache Allows you to flush cache. cache/flush Flushes given cache components. cache/flush-all Flushes all caches registered in the system. cache/flush-schema Clears DB schema cache for a given connection component. cache/index (default) Lists the caches that can be flushed. |
近期评论