php vendor bin phinx,Composer 安装两个包,以命令行执行其中一个的脚本,报错:函数重复定义...

情况:Composer 安装两个包,以 cli 的方式,用 vendor/bin/phinx.bat 执行脚本,报错:函数重复定义。

问题:两包内部的确都有 env() 函数。但我执行的是 phinx 包的脚本,为什么会自动加载另外一个包?

而且还报两次错。

具体描述:

包:

"require": {

"blink/blink": "0.4.*",

"robmorgan/phinx": "~0.10"

},

报错:

vendor\bin\phinx.bat

PHP Fatal error: Cannot redeclare env() (previously declared in D:\Uio\cygwin64\home\newiep\test-app\vendor\cakephp\core\functions.php:200) in D:\Uio\cygwin64\home\newiep\test-app\vendor\blink\blink\src\support\helpers.php on line 126

Fatal error: Cannot redeclare env() (previously declared in D:\Uio\cygwin64\home\newiep\test-app\vendor\cakephp\core\functions.php:200) in D:\Uio\cygwin64\home\newiep\test-app\vendor\blink\blink\src\support\helpers.php on line 126

脚本内容:

@ECHO OFF

setlocal DISABLEDELAYEDEXPANSION

SET BIN_TARGET=%~dp0/../robmorgan/phinx/bin/phinx

php "%BIN_TARGET%" %*

#!/usr/bin/env sh

dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../robmorgan/phinx/bin" && pwd)

if [ -d /proc/cygdrive ] && [[ $(which php) == $(readlink -n /proc/cygdrive)/* ]]; then

# We are in Cgywin using Windows php, so the path must be translated

dir=$(cygpath -m "$dir");

fi

"${dir}/phinx" "$@"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值