diff --git a/api/config/main.php b/api/config/main.php index e45d262..d7c78e0 100644 --- a/api/config/main.php +++ b/api/config/main.php @@ -28,6 +28,16 @@ return [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], ], + [ + 'class' => 'yii\log\FileTarget', + 'levels' => ['error', 'warning'], + 'categories' => ['notify'], + 'logFile' => '@app/runtime/logs/notify.log', + 'logVars' => [], + 'exportInterval' => 1, + 'prefix' => function ($message) { + } + ], ], ], 'user' => [ @@ -47,40 +57,49 @@ return [ ['class' => 'yii\rest\UrlRule', 'controller' => 'address', 'pluralize' => false], ['class' => 'yii\rest\UrlRule', 'controller' => 'taking-site'], ['class' => 'yii\rest\UrlRule', 'controller' => 'cart'], - ['class' => 'yii\rest\UrlRule', 'controller' => 'comment', - 'extraPatterns' => [ - 'DELETE ' => 'delete' - ]], - ['class' => 'yii\rest\UrlRule', 'controller' => 'order'], - ['class' => 'yii\rest\UrlRule', 'controller' => 'collection', - 'extraPatterns' => [ - 'DELETE ' => 'delete' - ] - ], - ['class' => 'yii\rest\UrlRule', - 'controller' => 'user', - 'pluralize' => false, - 'extraPatterns' => [ - 'GET token' => 'token' - ] - ], - [ - 'class' => 'yii\rest\UrlRule', - 'controller' => 'admin', - 'extraPatterns' => [ - 'GET menu' => 'menu', - 'GET create' => 'create' - ] - ], - [ - 'class' => 'yii\rest\UrlRule', - 'controller' => 'site', - 'extraPatterns' => [ - 'GET index' => 'index', - ] - ], + ['class' => 'yii\rest\UrlRule', 'controller' => 'comment', + 'extraPatterns' => [ + 'DELETE ' => 'delete' + ]], + ['class' => 'yii\rest\UrlRule', 'controller' => 'order'], + ['class' => 'yii\rest\UrlRule', 'controller' => 'collection', + 'extraPatterns' => [ + 'DELETE ' => 'delete' + ] + ], + ['class' => 'yii\rest\UrlRule', + 'controller' => 'user', + 'pluralize' => false, + 'extraPatterns' => [ + 'GET token' => 'token' + ] + ], + [ + 'class' => 'yii\rest\UrlRule', + 'controller' => 'admin', + 'extraPatterns' => [ + 'GET menu' => 'menu', + 'GET create' => 'create' + ] + ], + [ + 'class' => 'yii\rest\UrlRule', + 'controller' => 'site', + 'extraPatterns' => [ + 'GET index' => 'index', + ] + ], + [ + 'class' => 'yii\rest\UrlRule', + 'controller' => 'wx-payment', + 'pluralize' => false, + 'extraPatterns' => [ + 'GET web' => 'web', + 'POST notify' => 'notify', + ] ], ], ], - 'params' => $params, - ]; + ], + 'params' => $params, +]; diff --git a/api/controllers/CommonController.php b/api/controllers/CommonController.php index 1359834..6a7d785 100644 --- a/api/controllers/CommonController.php +++ b/api/controllers/CommonController.php @@ -7,6 +7,7 @@ use api\logic\CartLogic; use api\logic\CollectionLogic; use api\logic\CommentLogic; use api\logic\OrderLogic; +use api\logic\WxPaymentLogic; use yii\filters\auth\HttpBearerAuth; use yii\helpers\ArrayHelper; use yii\rest\ActiveController; @@ -23,7 +24,7 @@ class CommonController extends ActiveController public $className; /** - * @var OrderLogic|CommentLogic|CartLogic|CollectionLogic|AddressLogic; + * @var OrderLogic|CommentLogic|CartLogic|CollectionLogic|AddressLogic|WxPaymentLogic; */ public $object; diff --git a/api/controllers/WxPaymentController.php b/api/controllers/WxPaymentController.php index c61406b..44af1a3 100644 --- a/api/controllers/WxPaymentController.php +++ b/api/controllers/WxPaymentController.php @@ -10,12 +10,39 @@ namespace api\controllers; use api\logic\WxPaymentLogic; +use yii\filters\auth\HttpBearerAuth; +use yii\helpers\ArrayHelper; +use yii\web\Response; +use Yii; class WxPaymentController extends CommonController { public $modelClass = 'backend\modules\shop\models\ars\Order'; public $className = 'api\logic\WxPaymentLogic'; + public function behaviors() + { + return ArrayHelper::merge(parent::behaviors(), [ + 'authenticatior' => [ + 'class' => HttpBearerAuth::className(), + 'except' => ['notify'], + ] + ]); + } + + public function actions() + { + $action = parent::actions(); + unset($action['index']); + unset($action['update']); + unset($action['view']); + unset($action['delete']); + $action['options'] = [ + 'class' => 'yii\rest\OptionsAction', + 'collectionOptions' => ['PUT', 'GET', 'OPTIONS'] + ]; + return $action; + } public function actionWeb() { @@ -26,4 +53,10 @@ class WxPaymentController extends CommonController { return $this->object->wxPayment(WxPaymentLogic::PAY_TYPE_MINI_PROGRAM); } + + public function actionNotify() + { + Yii::$app->response->format = Response::FORMAT_XML; + return $this->object->notify(); + } } \ No newline at end of file diff --git a/api/logic/WxPaymentLogic.php b/api/logic/WxPaymentLogic.php index 05cfabf..00c1498 100644 --- a/api/logic/WxPaymentLogic.php +++ b/api/logic/WxPaymentLogic.php @@ -8,66 +8,104 @@ namespace api\logic; +use backend\modules\shop\models\ars\PaymentLog; +use backend\modules\shop\models\ars\WxPayConfig; +use common\models\User; +use Yii; use backend\modules\shop\models\ars\Config; use EasyWeChat\Factory; -use Yii; use backend\modules\shop\models\ars\Order; +use yii\db\Exception; use yii\web\BadRequestHttpException; use yii\web\NotFoundHttpException; +use yii\base\BaseObject; -class WxPaymentLogic extends \yii\base\BaseObject +class WxPaymentLogic extends BaseObject { + /*支付类型*/ const PAY_TYPE_WEB = 1; const PAY_TYPE_MINI_PROGRAM = 2; + /*发起支付方式*/ + const TRADE_TYPE_JS_API = 'JSAPI'; public $appId; public $mchId; public $key; public $certPath; public $keyPath; - public $notifyUrl; + public $notifyUrl = 'http://baidu.com'; public $tradeType; public $payType; public $app; public $order; + /** + * @param $payType + * @throws BadRequestHttpException + * @throws Exception + * 微信统一下单 + */ public function wxPayment($payType) { $this->payType = $payType; - $data = $this->applyPaymentData(); - $this->unify($data); + $unifyParams = $this->applyPaymentData(); + $this->unify($unifyParams); } + /** * @return array + * @throws BadRequestHttpException + * @throws Exception + * 生成支付参数 */ private function applyPaymentData() { - $orderId = Yii::$app->request->getBodyParam('orderId');/*int 商品id*/ - if (empty($orderId)) { + $orderId = Yii::$app->request->getBodyParam('order_id');/*int 商品id*/ + $paymentAmount = Yii::$app->request->getBodyParam('payment_amount');/*int 商品id*/ + $notifyUrl = Yii::$app->request->getBodyParam('notify_url');/*int 商品id*/ + if (empty($orderId) || empty($paymentAmount) || empty($notifyUrl)) { throw new BadRequestHttpException(Helper::REQUEST_BAD_PARAMS); } - $order = Order::find() - ->where(['id' => $orderId, 'user_id' => Yii::$app->user->getId()]) - ->one(); - if (empty($order)) { - throw new NotFoundHttpException('未找到该订单'); - } - $data = [ + + $this->tradeType = self::TRADE_TYPE_JS_API; + $this->savePaymentLog($orderId, $paymentAmount, $notifyUrl); + + $params = [ 'body' => '订单支付', - 'out_trade_no' => $order->order_sn, - 'total_fee' => round($order->pay_fee * 100), - 'openid' => Yii::$app->user->identity->wx_openid ?? '', + 'out_trade_no' => $orderId, + 'total_fee' => round($paymentAmount * 100), + 'openid' => Yii::$app->user->identity->wx_openid, ]; - $this->tradeType = 'JSAPI'; - $this->order = $order; - return $data; + return $params; + } + + /** + * @param string $orderId + * @param float $paymentAmount + * @param string $notifyUrl + * @throws Exception + * 保存支付信息 + */ + private function savePaymentLog($orderId, $paymentAmount, $notifyUrl) + { + $paymentLog = PaymentLog::findOne(['order_id' => $this->order->order_sn]); + if (!$paymentLog) { + $paymentLog = new PaymentLog(); + } + $paymentLog->order_id = $orderId; + $paymentLog->payment_amount = $paymentAmount; + $paymentLog->notify_url = $notifyUrl; + $paymentLog->type = $this->payType; + if (!$paymentLog->save()) { + throw new Exception(Helper::errorMessageStr($paymentLog->errors)); + } } private function getPaymentApp() { - $this->_config(); + $this->initObject(); $config = [ 'app_id' => $this->appId, 'mch_id' => $this->mchId, @@ -75,40 +113,195 @@ class WxPaymentLogic extends \yii\base\BaseObject 'cert_path' => $this->certPath, 'key_path' => $this->keyPath, 'notify_url' => $this->notifyUrl, - 'trade_type' => $this->tradeType + 'trade_type' => $this->tradeType, + 'sandbox' => true, // 设置为 false 或注释则关闭沙箱模式 ]; $this->app = Factory::payment($config); + // 判断当前是否为沙箱模式: + $this->app->inSandbox(); } - private function _config() + /** + * @var WxPayConfig $wxPayConfig + */ + private function initObject() { $path = Yii::getAlias('@backend'); - $config = Config::find()->one(); - switch ($this->payType) { - case self::PAY_TYPE_WEB: - $this->appId = trim($config->wx_appId); - $this->mchId = trim($config->wx_mchId); - $this->key = trim($config->wx_key); - $this->certPath = trim($path . $config->wx_certPath); - $this->keyPath = trim($path . $config->wx_keyPath); - break; - case self::PAY_TYPE_MINI_PROGRAM: - $this->appId = trim($config->mini_program_appId); - $this->mchId = trim($config->mini_program_mchId); - $this->key = trim($config->mini_program_key); - $this->certPath = trim($path . $config->mini_program_certPath); - $this->keyPath = trim($path . $config->mini_program_keyPath); - break; + +// switch ($this->payType) { +// case self::PAY_TYPE_WEB: +// $this->appId = trim($config->wx_appId); +// $this->mchId = trim($config->wx_mchId); +// $this->key = trim($config->wx_key); +// $this->keyPath = trim($path . $config->wx_keyPath); +// break; +// case self::PAY_TYPE_MINI_PROGRAM: +// $this->appId = trim($config->mini_program_appId); +// $this->mchId = trim($config->mini_program_mchId); +// $this->key = trim($config->mini_program_key); +// break; +// } + + $wxPayConfig = WxPayConfig::find()->one(); + $this->mchId = $wxPayConfig->mch_id; + $this->certPath = trim($path . $wxPayConfig->cert_path); + $this->keyPath = trim($path . $wxPayConfig->key_path); + } + + /** + * @param $unifyParams + * @return mixed + * @throws Exception + * 统一下单 + */ + private function unify($unifyParams) + { + $this->getPaymentApp(); + return $this->app->order->unify($unifyParams); + } + + + /** + * @return array|bool + * @throws BadRequestHttpException + * 支付回调 + */ + public function notify() + { + $result = [ + 'appid' => 'wxdccdddaa336353e1', + 'bank_type' => 'OTHERS', + 'cash_fee' => '926', + 'fee_type' => 'CNY', + 'is_subscribe' => 'N', + 'mch_id' => '1395812402', + 'nonce_str' => '5df366a248edb', + 'openid' => 'ovT0C0UB8xQbfYHVVS2VGWMjDMhI', + 'out_trade_no' => '201912131823156640Q', + 'result_code' => 'SUCCESS', + 'return_code' => 'SUCCESS', + 'sign' => 'EA6FFD717A206D203856EAFB554F666F', + 'time_end' => '20191213182333', + 'total_fee' => '926', + 'trade_type' => 'JSAPI', + 'transaction_id' => '4200000423201912134049863433', + ]; + $xmlString = $this->arrayToXml($result); + $notifyData = json_decode(json_encode(simplexml_load_string($xmlString, 'SimpleXMLElement', LIBXML_NOCDATA))); + +// $notifyData = json_decode(json_encode(simplexml_load_string(Yii::$app->request->getRawBody(), 'SimpleXMLElement', LIBXML_NOCDATA))); +// Yii::info($notifyData, "notify"); +// if (!$this->checkSign($notifyData)) { +// throw new BadRequestHttpException(Helper::REQUEST_BAD_PARAMS); +// } + $tra = Yii::$app->db->beginTransaction('SERIALIZABLE'); + try { + if ($notifyData->result_code != 'SUCCESS' || $notifyData->return_code != 'SUCCESS') { + throw new Exception('result_code or return_code is false'); + } + + $user = User::findOne(['wx_openid' => $notifyData->openid, 'status' => User::STATUS_ACTIVE]) + ?? User::findOne(['mini_openid' => $notifyData->openid, 'status' => User::STATUS_ACTIVE]);/*根据openid获取用户*/ + if (empty($user)) { + throw new Exception('用户不存在或已被禁用'); + } + + $paymentLog = PaymentLog::findOne(['order_id' => $notifyData->out_trade_no]); + $paymentLog->mch_id = $this->mch_id; + $paymentLog->wx_refund_id = $notifyData->transaction_id; //交易号 + $paymentLog->status = 1; + if (!$paymentLog->save()) { + throw new Exception(Helper::errorMessageStr($paymentLog->errors)); + } + + if (!$tra->commit()) { + throw new Exception('保存数据失败'); + } + + $this->forwardNotify($notifyData, true); + + return ['return_code' => 'SUCCESS', 'return_msg' => 'OK'];//回传成功信息到微信服务器 + } catch (Exception $e) { + $tra->rollBack(); + $this->forwardNotify($notifyData, false); + Yii::info($e->getMessage(), 'notify'); + return false; } - $this->notifyUrl = $config->api_domain_name . $this->order->notify_url; + } + + + private function forwardNotify($notifyData, $status) + { + return true; + return false; + } + /** + * @param $data + * @return bool + * 支付成功回调验证签名和支付金额 + */ + public function checkSign($data) + { + $this->initObject(); + $notifySign = $data['sign']; + unset($data['sign']); + $sign = $this->_sign($data); + if ($notifySign == $sign) { + return true; + } else { + return false; + } } + /** + * @param $arr + * @return string + * 微信签名方法 + */ + private function _sign($arr) + { + $arr = array_filter($arr); + ksort($arr); + $arr['key'] = $this->key; + $queryString = http_build_query($arr); + $queryString = urldecode($queryString); + return strtoupper(md5($queryString)); + } - private function unify($data) + /** + * @param $arr + * @param null $dom + * @param null $node + * @param string $root + * @param bool $cdata + * @return string + * 数组转xml字符串 + */ + function arrayToXml($arr, $dom = null, $node = null, $root = 'xml', $cdata = false) { - $this->getPaymentApp(); - return $this->app->order->unify($data); + if (!$dom) { + $dom = new \DOMDocument('1.0','utf-8'); + } + if (!$node) { + $node = $dom->createElement($root); + $dom->appendChild($node); + } + foreach ($arr as $key=>$value) { + $child_node = $dom->createElement(is_string($key) ? $key : 'node'); + $node->appendChild($child_node); + if (!is_array($value)) { + if (!$cdata) { + $data = $dom->createTextNode($value); + } else { + $data = $dom->createCDATASection($value); + } + $child_node->appendChild($data); + } else { + $this->arrayToXml($value,$dom,$child_node,$root,$cdata); + } + } + return $dom->saveXML(); } diff --git a/backend/modules/shop/migrations/m191214_033752_add_column_notify_url_in_payment_log.php b/backend/modules/shop/migrations/m191214_033752_add_column_notify_url_in_payment_log.php new file mode 100644 index 0000000..e9829bf --- /dev/null +++ b/backend/modules/shop/migrations/m191214_033752_add_column_notify_url_in_payment_log.php @@ -0,0 +1,41 @@ +addColumn('ats_payment_log', 'notify_url', $this->string()->after('payment_amount')->comment('支付回调路径')); + } + + /** + * {@inheritdoc} + */ + public function safeDown() + { + $this->dropColumn('ats_payment_log', 'notify_url'); + return true; + } + + /* + // Use up()/down() to run migration code without a transaction. + public function up() + { + + } + + public function down() + { + echo "m191214_033752_add_column_notify_url_in_payment_log cannot be reverted.\n"; + + return false; + } + */ +} diff --git a/backend/modules/shop/models/ars/PaymentLog.php b/backend/modules/shop/models/ars/PaymentLog.php index 596740c..1841e14 100755 --- a/backend/modules/shop/models/ars/PaymentLog.php +++ b/backend/modules/shop/models/ars/PaymentLog.php @@ -14,6 +14,7 @@ use yii\behaviors\TimestampBehavior; * @property string $mch_id 商户号 * @property int $order_amount 订单金额 * @property int $payment_amount 支付金额 + * @property string $notify_url 支付回调路径 * @property int $type 类型 * @property int $status 状态 * @property string $refund_account 退款账户 @@ -38,6 +39,7 @@ class PaymentLog extends \yii\db\ActiveRecord return [ [['order_id', 'order_amount', 'payment_amount', 'type', 'status'], 'integer'], [['wx_refund_id', 'mch_id', 'refund_account'], 'string', 'max' => 64], + [['notify_url'], 'string', 'max' => 255], ]; } @@ -53,6 +55,7 @@ class PaymentLog extends \yii\db\ActiveRecord 'mch_id' => '商户号', 'order_amount' => '订单金额', 'payment_amount' => '支付金额', + 'notify_url' => '支付回调路径', 'type' => '类型', 'status' => '状态', 'refund_account' => '退款账户', diff --git a/backend/modules/shop/models/ars/WxPayConfig.php b/backend/modules/shop/models/ars/WxPayConfig.php new file mode 100644 index 0000000..b59bdee --- /dev/null +++ b/backend/modules/shop/models/ars/WxPayConfig.php @@ -0,0 +1,64 @@ + TimestampBehavior::className(), + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + 'value' => function () { + return time(); + }, + ], + ]; + } + +} \ No newline at end of file diff --git a/console/controllers/TestController.php b/console/controllers/TestController.php index 1f3f1fd..0e68ba7 100644 --- a/console/controllers/TestController.php +++ b/console/controllers/TestController.php @@ -4,6 +4,8 @@ namespace console\controllers; use backend\modules\shop\models\ars\Order; use backend\modules\shop\models\ars\OrderGoods; +use backend\modules\shop\models\ars\WxPayConfig; +use common\models\User; use Yii; use yii\console\Controller; use yii\db\Exception; @@ -36,6 +38,9 @@ class TestController extends Controller { } } + /** + * 增加订单商品测试数据 + */ public function actionOrderGoods() { $transaction = Yii::$app->db->beginTransaction(); @@ -73,14 +78,44 @@ class TestController extends Controller { } } - $transaction->commit(); echo "ok\n"; } catch (Exception $e) { $transaction->rollBack(); print_r($e->getMessage()); } + } + public function actionUser() + { + $user = new User(); + $user->auth_key = '111'; + $user->password_hash = '111'; + if ($user->save()) { + echo 'ok'."\n"; + } else { + print_r($user->errors); + echo 'fail'."\n"; + } + } + + public function actionWxPayConfig() + { + $wxPayConfig = WxPayConfig::find()->one(); + if (!$wxPayConfig) { + $wxPayConfig = new WxPayConfig(); + } + $wxPayConfig->user_id = 1; + $wxPayConfig->mch_id = 1395812402; + $wxPayConfig->key = '51CF5EE3B2E35B9843E17E6099325A65'; + $wxPayConfig->key_path = ''; + $wxPayConfig->cert_path = ''; + if ($wxPayConfig->save()) { + echo "ok\n"; + } else { + echo "fail\n"; + } } + } diff --git a/console/runtime/logs/app.log b/console/runtime/logs/app.log index 0b27f98..3e8748b 100644 --- a/console/runtime/logs/app.log +++ b/console/runtime/logs/app.log @@ -1869,3 +1869,637 @@ $_SERVER = [ ] 'argc' => 2 ] +2019-12-14 09:41:31 [-][-][-][error][yii\base\UnknownPropertyException] yii\base\UnknownPropertyException: Getting unknown property: yii\console\Application::user in /home/www/Antbasic/vendor/yiisoft/yii2/base/Component.php:154 +Stack trace: +#0 /home/www/Antbasic/vendor/yiisoft/yii2/di/ServiceLocator.php(77): yii\base\Component->__get('user') +#1 /home/www/Antbasic/api/logic/AddressLogic.php(149): yii\di\ServiceLocator->__get('user') +#2 /home/www/Antbasic/api/logic/AddressLogic.php(30): api\logic\AddressLogic->findDefault() +#3 /home/www/Antbasic/backend/modules/shop/models/ars/Order.php(134): api\logic\AddressLogic->getDefault() +#4 /home/www/Antbasic/vendor/yiisoft/yii2/db/ActiveRecord.php(596): backend\modules\shop\models\ars\Order->beforeSave(true) +#5 /home/www/Antbasic/vendor/yiisoft/yii2/db/ActiveRecord.php(566): yii\db\ActiveRecord->insertInternal(NULL) +#6 /home/www/Antbasic/vendor/yiisoft/yii2/db/BaseActiveRecord.php(678): yii\db\ActiveRecord->insert(true, NULL) +#7 /home/www/Antbasic/console/controllers/TestController.php(56): yii\db\BaseActiveRecord->save() +#8 [internal function]: console\controllers\TestController->actionOrderGoods() +#9 /home/www/Antbasic/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array) +#10 /home/www/Antbasic/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array) +#11 /home/www/Antbasic/vendor/yiisoft/yii2/console/Controller.php(164): yii\base\Controller->runAction('order-goods', Array) +#12 /home/www/Antbasic/vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction('order-goods', Array) +#13 /home/www/Antbasic/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('test/order-good...', Array) +#14 /home/www/Antbasic/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('test/order-good...', Array) +#15 /home/www/Antbasic/vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest(Object(yii\console\Request)) +#16 /home/www/Antbasic/yii(23): yii\base\Application->run() +#17 {main} +2019-12-14 09:41:31 [-][-][-][info][application] $_GET = [] + +$_POST = [] + +$_FILES = [] + +$_COOKIE = [] + +$_SERVER = [ + 'CLUTTER_IM_MODULE' => 'xim' + 'LS_COLORS' => 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:' + 'LC_MEASUREMENT' => 'zh_CN.UTF-8' + 'LESSCLOSE' => '/usr/bin/lesspipe %s %s' + 'LC_PAPER' => 'zh_CN.UTF-8' + 'LC_MONETARY' => 'zh_CN.UTF-8' + 'XDG_MENU_PREFIX' => 'gnome-' + 'LANG' => 'en_US.UTF-8' + 'DISPLAY' => ':0' + 'GNOME_SHELL_SESSION_MODE' => 'ubuntu' + 'COLORTERM' => 'truecolor' + 'DESKTOP_AUTOSTART_ID' => '1046463cbd9c6ed29157628375735641200000034850007' + 'USERNAME' => 'travis' + 'XDG_VTNR' => '2' + 'SSH_AUTH_SOCK' => '/run/user/1000/keyring/ssh' + 'MANDATORY_PATH' => '/usr/share/gconf/ubuntu.mandatory.path' + 'LC_NAME' => 'zh_CN.UTF-8' + 'XDG_SESSION_ID' => '4' + 'USER' => 'travis' + 'DESKTOP_SESSION' => 'ubuntu' + 'QT4_IM_MODULE' => 'fcitx' + 'TEXTDOMAINDIR' => '/usr/share/locale/' + 'GNOME_TERMINAL_SCREEN' => '/org/gnome/Terminal/screen/2adc74e2_a423_4ce2_9e91_9efc3b61698e' + 'DEFAULTS_PATH' => '/usr/share/gconf/ubuntu.default.path' + 'PWD' => '/home/www/Antbasic' + 'HOME' => '/home/travis' + 'TEXTDOMAIN' => 'im-config' + 'SSH_AGENT_PID' => '1920' + 'QT_ACCESSIBILITY' => '1' + 'XDG_SESSION_TYPE' => 'x11' + 'XDG_DATA_DIRS' => '/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop' + 'XDG_SESSION_DESKTOP' => 'ubuntu' + 'LC_ADDRESS' => 'zh_CN.UTF-8' + 'LC_NUMERIC' => 'zh_CN.UTF-8' + 'GTK_MODULES' => 'gail:atk-bridge' + 'PAPERSIZE' => 'a4' + 'WINDOWPATH' => '2' + 'VTE_VERSION' => '5202' + 'TERM' => 'xterm-256color' + 'SHELL' => '/bin/bash' + 'QT_IM_MODULE' => 'fcitx' + 'XMODIFIERS' => '@im=fcitx' + 'IM_CONFIG_PHASE' => '2' + 'XDG_CURRENT_DESKTOP' => 'ubuntu:GNOME' + 'GPG_AGENT_INFO' => '/run/user/1000/gnupg/S.gpg-agent:0:1' + 'GNOME_TERMINAL_SERVICE' => ':1.84' + 'XDG_SEAT' => 'seat0' + 'SHLVL' => '1' + 'LANGUAGE' => 'en_US:en' + 'LC_TELEPHONE' => 'zh_CN.UTF-8' + 'GDMSESSION' => 'ubuntu' + 'GNOME_DESKTOP_SESSION_ID' => 'this-is-deprecated' + 'LOGNAME' => 'travis' + 'DBUS_SESSION_BUS_ADDRESS' => 'unix:path=/run/user/1000/bus' + 'XDG_RUNTIME_DIR' => '/run/user/1000' + 'XAUTHORITY' => '/run/user/1000/gdm/Xauthority' + 'XDG_CONFIG_DIRS' => '/etc/xdg/xdg-ubuntu:/etc/xdg' + 'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin' + 'LC_IDENTIFICATION' => 'zh_CN.UTF-8' + 'SESSION_MANAGER' => 'local/travis-TM1703:@/tmp/.ICE-unix/3485,unix/travis-TM1703:/tmp/.ICE-unix/3485' + 'LESSOPEN' => '| /usr/bin/lesspipe %s' + 'GTK_IM_MODULE' => 'fcitx' + 'LC_TIME' => 'zh_CN.UTF-8' + 'OLDPWD' => '/home/www' + '_' => './yii' + 'PHP_SELF' => './yii' + 'SCRIPT_NAME' => './yii' + 'SCRIPT_FILENAME' => './yii' + 'PATH_TRANSLATED' => './yii' + 'DOCUMENT_ROOT' => '' + 'REQUEST_TIME_FLOAT' => 1576287691.9244 + 'REQUEST_TIME' => 1576287691 + 'argv' => [ + 0 => './yii' + 1 => 'test/order-goods' + ] + 'argc' => 2 +] +2019-12-14 09:58:21 [-][-][-][error][Error] Error: Call to undefined function console\controllers\printError() in /home/www/Antbasic/console/controllers/TestController.php:94 +Stack trace: +#0 [internal function]: console\controllers\TestController->actionUser() +#1 /home/www/Antbasic/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array) +#2 /home/www/Antbasic/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array) +#3 /home/www/Antbasic/vendor/yiisoft/yii2/console/Controller.php(164): yii\base\Controller->runAction('user', Array) +#4 /home/www/Antbasic/vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction('user', Array) +#5 /home/www/Antbasic/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('test/user', Array) +#6 /home/www/Antbasic/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('test/user', Array) +#7 /home/www/Antbasic/vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest(Object(yii\console\Request)) +#8 /home/www/Antbasic/yii(23): yii\base\Application->run() +#9 {main} +2019-12-14 09:58:21 [-][-][-][info][application] $_GET = [] + +$_POST = [] + +$_FILES = [] + +$_COOKIE = [] + +$_SERVER = [ + 'CLUTTER_IM_MODULE' => 'xim' + 'LS_COLORS' => 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:' + 'LC_MEASUREMENT' => 'zh_CN.UTF-8' + 'LESSCLOSE' => '/usr/bin/lesspipe %s %s' + 'LC_PAPER' => 'zh_CN.UTF-8' + 'LC_MONETARY' => 'zh_CN.UTF-8' + 'XDG_MENU_PREFIX' => 'gnome-' + 'LANG' => 'en_US.UTF-8' + 'DISPLAY' => ':0' + 'GNOME_SHELL_SESSION_MODE' => 'ubuntu' + 'COLORTERM' => 'truecolor' + 'DESKTOP_AUTOSTART_ID' => '1046463cbd9c6ed29157628375735641200000034850007' + 'USERNAME' => 'travis' + 'XDG_VTNR' => '2' + 'SSH_AUTH_SOCK' => '/run/user/1000/keyring/ssh' + 'MANDATORY_PATH' => '/usr/share/gconf/ubuntu.mandatory.path' + 'LC_NAME' => 'zh_CN.UTF-8' + 'XDG_SESSION_ID' => '4' + 'USER' => 'travis' + 'DESKTOP_SESSION' => 'ubuntu' + 'QT4_IM_MODULE' => 'fcitx' + 'TEXTDOMAINDIR' => '/usr/share/locale/' + 'GNOME_TERMINAL_SCREEN' => '/org/gnome/Terminal/screen/2adc74e2_a423_4ce2_9e91_9efc3b61698e' + 'DEFAULTS_PATH' => '/usr/share/gconf/ubuntu.default.path' + 'PWD' => '/home/www/Antbasic' + 'HOME' => '/home/travis' + 'TEXTDOMAIN' => 'im-config' + 'SSH_AGENT_PID' => '1920' + 'QT_ACCESSIBILITY' => '1' + 'XDG_SESSION_TYPE' => 'x11' + 'XDG_DATA_DIRS' => '/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop' + 'XDG_SESSION_DESKTOP' => 'ubuntu' + 'LC_ADDRESS' => 'zh_CN.UTF-8' + 'LC_NUMERIC' => 'zh_CN.UTF-8' + 'GTK_MODULES' => 'gail:atk-bridge' + 'PAPERSIZE' => 'a4' + 'WINDOWPATH' => '2' + 'VTE_VERSION' => '5202' + 'TERM' => 'xterm-256color' + 'SHELL' => '/bin/bash' + 'QT_IM_MODULE' => 'fcitx' + 'XMODIFIERS' => '@im=fcitx' + 'IM_CONFIG_PHASE' => '2' + 'XDG_CURRENT_DESKTOP' => 'ubuntu:GNOME' + 'GPG_AGENT_INFO' => '/run/user/1000/gnupg/S.gpg-agent:0:1' + 'GNOME_TERMINAL_SERVICE' => ':1.84' + 'XDG_SEAT' => 'seat0' + 'SHLVL' => '1' + 'LANGUAGE' => 'en_US:en' + 'LC_TELEPHONE' => 'zh_CN.UTF-8' + 'GDMSESSION' => 'ubuntu' + 'GNOME_DESKTOP_SESSION_ID' => 'this-is-deprecated' + 'LOGNAME' => 'travis' + 'DBUS_SESSION_BUS_ADDRESS' => 'unix:path=/run/user/1000/bus' + 'XDG_RUNTIME_DIR' => '/run/user/1000' + 'XAUTHORITY' => '/run/user/1000/gdm/Xauthority' + 'XDG_CONFIG_DIRS' => '/etc/xdg/xdg-ubuntu:/etc/xdg' + 'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin' + 'LC_IDENTIFICATION' => 'zh_CN.UTF-8' + 'SESSION_MANAGER' => 'local/travis-TM1703:@/tmp/.ICE-unix/3485,unix/travis-TM1703:/tmp/.ICE-unix/3485' + 'LESSOPEN' => '| /usr/bin/lesspipe %s' + 'GTK_IM_MODULE' => 'fcitx' + 'LC_TIME' => 'zh_CN.UTF-8' + 'OLDPWD' => '/home/www' + '_' => './yii' + 'PHP_SELF' => './yii' + 'SCRIPT_NAME' => './yii' + 'SCRIPT_FILENAME' => './yii' + 'PATH_TRANSLATED' => './yii' + 'DOCUMENT_ROOT' => '' + 'REQUEST_TIME_FLOAT' => 1576288701.6889 + 'REQUEST_TIME' => 1576288701 + 'argv' => [ + 0 => './yii' + 1 => 'test/user' + ] + 'argc' => 2 +] +2019-12-14 11:15:14 [-][-][-][error][yii\base\UnknownPropertyException] yii\base\UnknownPropertyException: Getting unknown property: yii\console\Application::user in /home/www/Antbasic/vendor/yiisoft/yii2/base/Component.php:154 +Stack trace: +#0 /home/www/Antbasic/vendor/yiisoft/yii2/di/ServiceLocator.php(77): yii\base\Component->__get('user') +#1 /home/www/Antbasic/api/logic/AddressLogic.php(149): yii\di\ServiceLocator->__get('user') +#2 /home/www/Antbasic/api/logic/AddressLogic.php(30): api\logic\AddressLogic->findDefault() +#3 /home/www/Antbasic/backend/modules/shop/models/ars/Order.php(134): api\logic\AddressLogic->getDefault() +#4 /home/www/Antbasic/vendor/yiisoft/yii2/db/ActiveRecord.php(596): backend\modules\shop\models\ars\Order->beforeSave(true) +#5 /home/www/Antbasic/vendor/yiisoft/yii2/db/ActiveRecord.php(566): yii\db\ActiveRecord->insertInternal(NULL) +#6 /home/www/Antbasic/vendor/yiisoft/yii2/db/BaseActiveRecord.php(678): yii\db\ActiveRecord->insert(true, NULL) +#7 /home/www/Antbasic/console/controllers/TestController.php(60): yii\db\BaseActiveRecord->save() +#8 [internal function]: console\controllers\TestController->actionOrderGoods() +#9 /home/www/Antbasic/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array) +#10 /home/www/Antbasic/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array) +#11 /home/www/Antbasic/vendor/yiisoft/yii2/console/Controller.php(164): yii\base\Controller->runAction('order-goods', Array) +#12 /home/www/Antbasic/vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction('order-goods', Array) +#13 /home/www/Antbasic/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('test/order-good...', Array) +#14 /home/www/Antbasic/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('test/order-good...', Array) +#15 /home/www/Antbasic/vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest(Object(yii\console\Request)) +#16 /home/www/Antbasic/yii(23): yii\base\Application->run() +#17 {main} +2019-12-14 11:15:14 [-][-][-][info][application] $_GET = [] + +$_POST = [] + +$_FILES = [] + +$_COOKIE = [] + +$_SERVER = [ + 'CLUTTER_IM_MODULE' => 'xim' + 'LS_COLORS' => 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:' + 'LC_MEASUREMENT' => 'zh_CN.UTF-8' + 'LESSCLOSE' => '/usr/bin/lesspipe %s %s' + 'LC_PAPER' => 'zh_CN.UTF-8' + 'LC_MONETARY' => 'zh_CN.UTF-8' + 'XDG_MENU_PREFIX' => 'gnome-' + 'LANG' => 'en_US.UTF-8' + 'DISPLAY' => ':0' + 'GNOME_SHELL_SESSION_MODE' => 'ubuntu' + 'COLORTERM' => 'truecolor' + 'DESKTOP_AUTOSTART_ID' => '1046463cbd9c6ed29157628375735641200000034850007' + 'USERNAME' => 'travis' + 'XDG_VTNR' => '2' + 'SSH_AUTH_SOCK' => '/run/user/1000/keyring/ssh' + 'MANDATORY_PATH' => '/usr/share/gconf/ubuntu.mandatory.path' + 'LC_NAME' => 'zh_CN.UTF-8' + 'XDG_SESSION_ID' => '4' + 'USER' => 'travis' + 'DESKTOP_SESSION' => 'ubuntu' + 'QT4_IM_MODULE' => 'fcitx' + 'TEXTDOMAINDIR' => '/usr/share/locale/' + 'GNOME_TERMINAL_SCREEN' => '/org/gnome/Terminal/screen/2adc74e2_a423_4ce2_9e91_9efc3b61698e' + 'DEFAULTS_PATH' => '/usr/share/gconf/ubuntu.default.path' + 'PWD' => '/home/www/Antbasic' + 'HOME' => '/home/travis' + 'TEXTDOMAIN' => 'im-config' + 'SSH_AGENT_PID' => '1920' + 'QT_ACCESSIBILITY' => '1' + 'XDG_SESSION_TYPE' => 'x11' + 'XDG_DATA_DIRS' => '/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop' + 'XDG_SESSION_DESKTOP' => 'ubuntu' + 'LC_ADDRESS' => 'zh_CN.UTF-8' + 'LC_NUMERIC' => 'zh_CN.UTF-8' + 'GTK_MODULES' => 'gail:atk-bridge' + 'PAPERSIZE' => 'a4' + 'WINDOWPATH' => '2' + 'VTE_VERSION' => '5202' + 'TERM' => 'xterm-256color' + 'SHELL' => '/bin/bash' + 'QT_IM_MODULE' => 'fcitx' + 'XMODIFIERS' => '@im=fcitx' + 'IM_CONFIG_PHASE' => '2' + 'XDG_CURRENT_DESKTOP' => 'ubuntu:GNOME' + 'GPG_AGENT_INFO' => '/run/user/1000/gnupg/S.gpg-agent:0:1' + 'GNOME_TERMINAL_SERVICE' => ':1.84' + 'XDG_SEAT' => 'seat0' + 'SHLVL' => '1' + 'LANGUAGE' => 'en_US:en' + 'LC_TELEPHONE' => 'zh_CN.UTF-8' + 'GDMSESSION' => 'ubuntu' + 'GNOME_DESKTOP_SESSION_ID' => 'this-is-deprecated' + 'LOGNAME' => 'travis' + 'DBUS_SESSION_BUS_ADDRESS' => 'unix:path=/run/user/1000/bus' + 'XDG_RUNTIME_DIR' => '/run/user/1000' + 'XAUTHORITY' => '/run/user/1000/gdm/Xauthority' + 'XDG_CONFIG_DIRS' => '/etc/xdg/xdg-ubuntu:/etc/xdg' + 'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin' + 'LC_IDENTIFICATION' => 'zh_CN.UTF-8' + 'SESSION_MANAGER' => 'local/travis-TM1703:@/tmp/.ICE-unix/3485,unix/travis-TM1703:/tmp/.ICE-unix/3485' + 'LESSOPEN' => '| /usr/bin/lesspipe %s' + 'GTK_IM_MODULE' => 'fcitx' + 'LC_TIME' => 'zh_CN.UTF-8' + 'OLDPWD' => '/home/www' + '_' => './yii' + 'PHP_SELF' => './yii' + 'SCRIPT_NAME' => './yii' + 'SCRIPT_FILENAME' => './yii' + 'PATH_TRANSLATED' => './yii' + 'DOCUMENT_ROOT' => '' + 'REQUEST_TIME_FLOAT' => 1576293314.3808 + 'REQUEST_TIME' => 1576293314 + 'argv' => [ + 0 => './yii' + 1 => 'test/order-goods' + ] + 'argc' => 2 +] +2019-12-14 11:19:53 [-][-][-][error][yii\base\UnknownPropertyException] yii\base\UnknownPropertyException: Getting unknown property: yii\console\Application::user in /home/www/Antbasic/vendor/yiisoft/yii2/base/Component.php:154 +Stack trace: +#0 /home/www/Antbasic/vendor/yiisoft/yii2/di/ServiceLocator.php(77): yii\base\Component->__get('user') +#1 /home/www/Antbasic/api/logic/AddressLogic.php(149): yii\di\ServiceLocator->__get('user') +#2 /home/www/Antbasic/api/logic/AddressLogic.php(30): api\logic\AddressLogic->findDefault() +#3 /home/www/Antbasic/backend/modules/shop/models/ars/Order.php(134): api\logic\AddressLogic->getDefault() +#4 /home/www/Antbasic/vendor/yiisoft/yii2/db/ActiveRecord.php(596): backend\modules\shop\models\ars\Order->beforeSave(true) +#5 /home/www/Antbasic/vendor/yiisoft/yii2/db/ActiveRecord.php(566): yii\db\ActiveRecord->insertInternal(NULL) +#6 /home/www/Antbasic/vendor/yiisoft/yii2/db/BaseActiveRecord.php(678): yii\db\ActiveRecord->insert(true, NULL) +#7 /home/www/Antbasic/console/controllers/TestController.php(60): yii\db\BaseActiveRecord->save() +#8 [internal function]: console\controllers\TestController->actionOrderGoods() +#9 /home/www/Antbasic/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array) +#10 /home/www/Antbasic/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array) +#11 /home/www/Antbasic/vendor/yiisoft/yii2/console/Controller.php(164): yii\base\Controller->runAction('order-goods', Array) +#12 /home/www/Antbasic/vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction('order-goods', Array) +#13 /home/www/Antbasic/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('test/order-good...', Array) +#14 /home/www/Antbasic/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('test/order-good...', Array) +#15 /home/www/Antbasic/vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest(Object(yii\console\Request)) +#16 /home/www/Antbasic/yii(23): yii\base\Application->run() +#17 {main} +2019-12-14 11:19:53 [-][-][-][info][application] $_GET = [] + +$_POST = [] + +$_FILES = [] + +$_COOKIE = [] + +$_SERVER = [ + 'CLUTTER_IM_MODULE' => 'xim' + 'LS_COLORS' => 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:' + 'LC_MEASUREMENT' => 'zh_CN.UTF-8' + 'LESSCLOSE' => '/usr/bin/lesspipe %s %s' + 'LC_PAPER' => 'zh_CN.UTF-8' + 'LC_MONETARY' => 'zh_CN.UTF-8' + 'XDG_MENU_PREFIX' => 'gnome-' + 'LANG' => 'en_US.UTF-8' + 'DISPLAY' => ':0' + 'GNOME_SHELL_SESSION_MODE' => 'ubuntu' + 'COLORTERM' => 'truecolor' + 'DESKTOP_AUTOSTART_ID' => '1046463cbd9c6ed29157628375735641200000034850007' + 'USERNAME' => 'travis' + 'XDG_VTNR' => '2' + 'SSH_AUTH_SOCK' => '/run/user/1000/keyring/ssh' + 'MANDATORY_PATH' => '/usr/share/gconf/ubuntu.mandatory.path' + 'LC_NAME' => 'zh_CN.UTF-8' + 'XDG_SESSION_ID' => '4' + 'USER' => 'travis' + 'DESKTOP_SESSION' => 'ubuntu' + 'QT4_IM_MODULE' => 'fcitx' + 'TEXTDOMAINDIR' => '/usr/share/locale/' + 'GNOME_TERMINAL_SCREEN' => '/org/gnome/Terminal/screen/2adc74e2_a423_4ce2_9e91_9efc3b61698e' + 'DEFAULTS_PATH' => '/usr/share/gconf/ubuntu.default.path' + 'PWD' => '/home/www/Antbasic' + 'HOME' => '/home/travis' + 'TEXTDOMAIN' => 'im-config' + 'SSH_AGENT_PID' => '1920' + 'QT_ACCESSIBILITY' => '1' + 'XDG_SESSION_TYPE' => 'x11' + 'XDG_DATA_DIRS' => '/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop' + 'XDG_SESSION_DESKTOP' => 'ubuntu' + 'LC_ADDRESS' => 'zh_CN.UTF-8' + 'LC_NUMERIC' => 'zh_CN.UTF-8' + 'GTK_MODULES' => 'gail:atk-bridge' + 'PAPERSIZE' => 'a4' + 'WINDOWPATH' => '2' + 'VTE_VERSION' => '5202' + 'TERM' => 'xterm-256color' + 'SHELL' => '/bin/bash' + 'QT_IM_MODULE' => 'fcitx' + 'XMODIFIERS' => '@im=fcitx' + 'IM_CONFIG_PHASE' => '2' + 'XDG_CURRENT_DESKTOP' => 'ubuntu:GNOME' + 'GPG_AGENT_INFO' => '/run/user/1000/gnupg/S.gpg-agent:0:1' + 'GNOME_TERMINAL_SERVICE' => ':1.84' + 'XDG_SEAT' => 'seat0' + 'SHLVL' => '1' + 'LANGUAGE' => 'en_US:en' + 'LC_TELEPHONE' => 'zh_CN.UTF-8' + 'GDMSESSION' => 'ubuntu' + 'GNOME_DESKTOP_SESSION_ID' => 'this-is-deprecated' + 'LOGNAME' => 'travis' + 'DBUS_SESSION_BUS_ADDRESS' => 'unix:path=/run/user/1000/bus' + 'XDG_RUNTIME_DIR' => '/run/user/1000' + 'XAUTHORITY' => '/run/user/1000/gdm/Xauthority' + 'XDG_CONFIG_DIRS' => '/etc/xdg/xdg-ubuntu:/etc/xdg' + 'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin' + 'LC_IDENTIFICATION' => 'zh_CN.UTF-8' + 'SESSION_MANAGER' => 'local/travis-TM1703:@/tmp/.ICE-unix/3485,unix/travis-TM1703:/tmp/.ICE-unix/3485' + 'LESSOPEN' => '| /usr/bin/lesspipe %s' + 'GTK_IM_MODULE' => 'fcitx' + 'LC_TIME' => 'zh_CN.UTF-8' + 'OLDPWD' => '/home/www' + '_' => './yii' + 'PHP_SELF' => './yii' + 'SCRIPT_NAME' => './yii' + 'SCRIPT_FILENAME' => './yii' + 'PATH_TRANSLATED' => './yii' + 'DOCUMENT_ROOT' => '' + 'REQUEST_TIME_FLOAT' => 1576293593.417 + 'REQUEST_TIME' => 1576293593 + 'argv' => [ + 0 => './yii' + 1 => 'test/order-goods' + ] + 'argc' => 2 +] +2019-12-14 11:21:12 [-][-][-][error][yii\base\UnknownPropertyException] yii\base\UnknownPropertyException: Getting unknown property: yii\console\Application::user in /home/www/Antbasic/vendor/yiisoft/yii2/base/Component.php:154 +Stack trace: +#0 /home/www/Antbasic/vendor/yiisoft/yii2/di/ServiceLocator.php(77): yii\base\Component->__get('user') +#1 /home/www/Antbasic/api/logic/AddressLogic.php(149): yii\di\ServiceLocator->__get('user') +#2 /home/www/Antbasic/api/logic/AddressLogic.php(30): api\logic\AddressLogic->findDefault() +#3 /home/www/Antbasic/backend/modules/shop/models/ars/Order.php(134): api\logic\AddressLogic->getDefault() +#4 /home/www/Antbasic/vendor/yiisoft/yii2/db/ActiveRecord.php(596): backend\modules\shop\models\ars\Order->beforeSave(true) +#5 /home/www/Antbasic/vendor/yiisoft/yii2/db/ActiveRecord.php(566): yii\db\ActiveRecord->insertInternal(NULL) +#6 /home/www/Antbasic/vendor/yiisoft/yii2/db/BaseActiveRecord.php(678): yii\db\ActiveRecord->insert(true, NULL) +#7 /home/www/Antbasic/console/controllers/TestController.php(60): yii\db\BaseActiveRecord->save() +#8 [internal function]: console\controllers\TestController->actionOrderGoods() +#9 /home/www/Antbasic/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array) +#10 /home/www/Antbasic/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array) +#11 /home/www/Antbasic/vendor/yiisoft/yii2/console/Controller.php(164): yii\base\Controller->runAction('order-goods', Array) +#12 /home/www/Antbasic/vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction('order-goods', Array) +#13 /home/www/Antbasic/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('test/order-good...', Array) +#14 /home/www/Antbasic/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('test/order-good...', Array) +#15 /home/www/Antbasic/vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest(Object(yii\console\Request)) +#16 /home/www/Antbasic/yii(23): yii\base\Application->run() +#17 {main} +2019-12-14 11:21:12 [-][-][-][info][application] $_GET = [] + +$_POST = [] + +$_FILES = [] + +$_COOKIE = [] + +$_SERVER = [ + 'CLUTTER_IM_MODULE' => 'xim' + 'LS_COLORS' => 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:' + 'LC_MEASUREMENT' => 'zh_CN.UTF-8' + 'LESSCLOSE' => '/usr/bin/lesspipe %s %s' + 'LC_PAPER' => 'zh_CN.UTF-8' + 'LC_MONETARY' => 'zh_CN.UTF-8' + 'XDG_MENU_PREFIX' => 'gnome-' + 'LANG' => 'en_US.UTF-8' + 'DISPLAY' => ':0' + 'GNOME_SHELL_SESSION_MODE' => 'ubuntu' + 'COLORTERM' => 'truecolor' + 'DESKTOP_AUTOSTART_ID' => '1046463cbd9c6ed29157628375735641200000034850007' + 'USERNAME' => 'travis' + 'XDG_VTNR' => '2' + 'SSH_AUTH_SOCK' => '/run/user/1000/keyring/ssh' + 'MANDATORY_PATH' => '/usr/share/gconf/ubuntu.mandatory.path' + 'LC_NAME' => 'zh_CN.UTF-8' + 'XDG_SESSION_ID' => '4' + 'USER' => 'travis' + 'DESKTOP_SESSION' => 'ubuntu' + 'QT4_IM_MODULE' => 'fcitx' + 'TEXTDOMAINDIR' => '/usr/share/locale/' + 'GNOME_TERMINAL_SCREEN' => '/org/gnome/Terminal/screen/2adc74e2_a423_4ce2_9e91_9efc3b61698e' + 'DEFAULTS_PATH' => '/usr/share/gconf/ubuntu.default.path' + 'PWD' => '/home/www/Antbasic' + 'HOME' => '/home/travis' + 'TEXTDOMAIN' => 'im-config' + 'SSH_AGENT_PID' => '1920' + 'QT_ACCESSIBILITY' => '1' + 'XDG_SESSION_TYPE' => 'x11' + 'XDG_DATA_DIRS' => '/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop' + 'XDG_SESSION_DESKTOP' => 'ubuntu' + 'LC_ADDRESS' => 'zh_CN.UTF-8' + 'LC_NUMERIC' => 'zh_CN.UTF-8' + 'GTK_MODULES' => 'gail:atk-bridge' + 'PAPERSIZE' => 'a4' + 'WINDOWPATH' => '2' + 'VTE_VERSION' => '5202' + 'TERM' => 'xterm-256color' + 'SHELL' => '/bin/bash' + 'QT_IM_MODULE' => 'fcitx' + 'XMODIFIERS' => '@im=fcitx' + 'IM_CONFIG_PHASE' => '2' + 'XDG_CURRENT_DESKTOP' => 'ubuntu:GNOME' + 'GPG_AGENT_INFO' => '/run/user/1000/gnupg/S.gpg-agent:0:1' + 'GNOME_TERMINAL_SERVICE' => ':1.84' + 'XDG_SEAT' => 'seat0' + 'SHLVL' => '1' + 'LANGUAGE' => 'en_US:en' + 'LC_TELEPHONE' => 'zh_CN.UTF-8' + 'GDMSESSION' => 'ubuntu' + 'GNOME_DESKTOP_SESSION_ID' => 'this-is-deprecated' + 'LOGNAME' => 'travis' + 'DBUS_SESSION_BUS_ADDRESS' => 'unix:path=/run/user/1000/bus' + 'XDG_RUNTIME_DIR' => '/run/user/1000' + 'XAUTHORITY' => '/run/user/1000/gdm/Xauthority' + 'XDG_CONFIG_DIRS' => '/etc/xdg/xdg-ubuntu:/etc/xdg' + 'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin' + 'LC_IDENTIFICATION' => 'zh_CN.UTF-8' + 'SESSION_MANAGER' => 'local/travis-TM1703:@/tmp/.ICE-unix/3485,unix/travis-TM1703:/tmp/.ICE-unix/3485' + 'LESSOPEN' => '| /usr/bin/lesspipe %s' + 'GTK_IM_MODULE' => 'fcitx' + 'LC_TIME' => 'zh_CN.UTF-8' + 'OLDPWD' => '/home/www' + '_' => './yii' + 'PHP_SELF' => './yii' + 'SCRIPT_NAME' => './yii' + 'SCRIPT_FILENAME' => './yii' + 'PATH_TRANSLATED' => './yii' + 'DOCUMENT_ROOT' => '' + 'REQUEST_TIME_FLOAT' => 1576293672.3767 + 'REQUEST_TIME' => 1576293672 + 'argv' => [ + 0 => './yii' + 1 => 'test/order-goods' + ] + 'argc' => 2 +] +2019-12-14 11:22:27 [-][-][-][error][yii\base\UnknownPropertyException] yii\base\UnknownPropertyException: Getting unknown property: yii\console\Application::user in /home/www/Antbasic/vendor/yiisoft/yii2/base/Component.php:154 +Stack trace: +#0 /home/www/Antbasic/vendor/yiisoft/yii2/di/ServiceLocator.php(77): yii\base\Component->__get('user') +#1 /home/www/Antbasic/api/logic/AddressLogic.php(149): yii\di\ServiceLocator->__get('user') +#2 /home/www/Antbasic/api/logic/AddressLogic.php(30): api\logic\AddressLogic->findDefault() +#3 /home/www/Antbasic/backend/modules/shop/models/ars/Order.php(134): api\logic\AddressLogic->getDefault() +#4 /home/www/Antbasic/vendor/yiisoft/yii2/db/ActiveRecord.php(596): backend\modules\shop\models\ars\Order->beforeSave(true) +#5 /home/www/Antbasic/vendor/yiisoft/yii2/db/ActiveRecord.php(566): yii\db\ActiveRecord->insertInternal(NULL) +#6 /home/www/Antbasic/vendor/yiisoft/yii2/db/BaseActiveRecord.php(678): yii\db\ActiveRecord->insert(true, NULL) +#7 /home/www/Antbasic/console/controllers/TestController.php(60): yii\db\BaseActiveRecord->save() +#8 [internal function]: console\controllers\TestController->actionOrderGoods() +#9 /home/www/Antbasic/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array) +#10 /home/www/Antbasic/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array) +#11 /home/www/Antbasic/vendor/yiisoft/yii2/console/Controller.php(164): yii\base\Controller->runAction('order-goods', Array) +#12 /home/www/Antbasic/vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction('order-goods', Array) +#13 /home/www/Antbasic/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('test/order-good...', Array) +#14 /home/www/Antbasic/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('test/order-good...', Array) +#15 /home/www/Antbasic/vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest(Object(yii\console\Request)) +#16 /home/www/Antbasic/yii(23): yii\base\Application->run() +#17 {main} +2019-12-14 11:22:27 [-][-][-][info][application] $_GET = [] + +$_POST = [] + +$_FILES = [] + +$_COOKIE = [] + +$_SERVER = [ + 'CLUTTER_IM_MODULE' => 'xim' + 'LS_COLORS' => 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:' + 'LC_MEASUREMENT' => 'zh_CN.UTF-8' + 'LESSCLOSE' => '/usr/bin/lesspipe %s %s' + 'LC_PAPER' => 'zh_CN.UTF-8' + 'LC_MONETARY' => 'zh_CN.UTF-8' + 'XDG_MENU_PREFIX' => 'gnome-' + 'LANG' => 'en_US.UTF-8' + 'DISPLAY' => ':0' + 'GNOME_SHELL_SESSION_MODE' => 'ubuntu' + 'COLORTERM' => 'truecolor' + 'DESKTOP_AUTOSTART_ID' => '1046463cbd9c6ed29157628375735641200000034850007' + 'USERNAME' => 'travis' + 'XDG_VTNR' => '2' + 'SSH_AUTH_SOCK' => '/run/user/1000/keyring/ssh' + 'MANDATORY_PATH' => '/usr/share/gconf/ubuntu.mandatory.path' + 'LC_NAME' => 'zh_CN.UTF-8' + 'XDG_SESSION_ID' => '4' + 'USER' => 'travis' + 'DESKTOP_SESSION' => 'ubuntu' + 'QT4_IM_MODULE' => 'fcitx' + 'TEXTDOMAINDIR' => '/usr/share/locale/' + 'GNOME_TERMINAL_SCREEN' => '/org/gnome/Terminal/screen/2adc74e2_a423_4ce2_9e91_9efc3b61698e' + 'DEFAULTS_PATH' => '/usr/share/gconf/ubuntu.default.path' + 'PWD' => '/home/www/Antbasic' + 'HOME' => '/home/travis' + 'TEXTDOMAIN' => 'im-config' + 'SSH_AGENT_PID' => '1920' + 'QT_ACCESSIBILITY' => '1' + 'XDG_SESSION_TYPE' => 'x11' + 'XDG_DATA_DIRS' => '/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop' + 'XDG_SESSION_DESKTOP' => 'ubuntu' + 'LC_ADDRESS' => 'zh_CN.UTF-8' + 'LC_NUMERIC' => 'zh_CN.UTF-8' + 'GTK_MODULES' => 'gail:atk-bridge' + 'PAPERSIZE' => 'a4' + 'WINDOWPATH' => '2' + 'VTE_VERSION' => '5202' + 'TERM' => 'xterm-256color' + 'SHELL' => '/bin/bash' + 'QT_IM_MODULE' => 'fcitx' + 'XMODIFIERS' => '@im=fcitx' + 'IM_CONFIG_PHASE' => '2' + 'XDG_CURRENT_DESKTOP' => 'ubuntu:GNOME' + 'GPG_AGENT_INFO' => '/run/user/1000/gnupg/S.gpg-agent:0:1' + 'GNOME_TERMINAL_SERVICE' => ':1.84' + 'XDG_SEAT' => 'seat0' + 'SHLVL' => '1' + 'LANGUAGE' => 'en_US:en' + 'LC_TELEPHONE' => 'zh_CN.UTF-8' + 'GDMSESSION' => 'ubuntu' + 'GNOME_DESKTOP_SESSION_ID' => 'this-is-deprecated' + 'LOGNAME' => 'travis' + 'DBUS_SESSION_BUS_ADDRESS' => 'unix:path=/run/user/1000/bus' + 'XDG_RUNTIME_DIR' => '/run/user/1000' + 'XAUTHORITY' => '/run/user/1000/gdm/Xauthority' + 'XDG_CONFIG_DIRS' => '/etc/xdg/xdg-ubuntu:/etc/xdg' + 'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin' + 'LC_IDENTIFICATION' => 'zh_CN.UTF-8' + 'SESSION_MANAGER' => 'local/travis-TM1703:@/tmp/.ICE-unix/3485,unix/travis-TM1703:/tmp/.ICE-unix/3485' + 'LESSOPEN' => '| /usr/bin/lesspipe %s' + 'GTK_IM_MODULE' => 'fcitx' + 'LC_TIME' => 'zh_CN.UTF-8' + 'OLDPWD' => '/home/www' + '_' => './yii' + 'PHP_SELF' => './yii' + 'SCRIPT_NAME' => './yii' + 'SCRIPT_FILENAME' => './yii' + 'PATH_TRANSLATED' => './yii' + 'DOCUMENT_ROOT' => '' + 'REQUEST_TIME_FLOAT' => 1576293747.3289 + 'REQUEST_TIME' => 1576293747 + 'argv' => [ + 0 => './yii' + 1 => 'test/order-goods' + ] + 'argc' => 2 +]