Yii2是Yii PHP框架的最新版本(Yii是一个基于组件的高性能PHP框架),版本2.0.18于2019年4月23日发布。
我已经在我的项目中安装了highcharts包。现在我尝试查看示例图表,但出现错误。 使用 milosc human\highcharts\Highcharts; 我已经在我的项目中安装了 highcharts 包。现在我尝试查看示例图表,但出现错误。 use miloschuman\highcharts\Highcharts; <?= Highcharts::widget([ 'options' => [ 'title' => ['text' => 'Fruit Consumption'], 'xAxis' => [ 'categories' => ['Apples', 'Bananas', 'Oranges'] ], 'yAxis' => [ 'title' => ['text' => 'Fruit eaten'] ], 'series' => [ ['name' => 'Jane', 'data' => [1, 0, 4]], ['name' => 'John', 'data' => [5, 7, 3]] ] ] ]); ?> 错误 Invalid Argument – yii\base\InvalidArgumentException 要发布的文件或目录不存在:F:\xampp\htdocs\mdc/vendorower/highcharts 更新1 下面是我的堆栈跟踪 更新2 下面是我的composer.json { "name": "yiisoft/yii2-app-advanced", "description": "Yii 2 Advanced Project Template", "keywords": ["yii2", "framework", "advanced", "project template"], "homepage": "http://www.yiiframework.com/", "type": "project", "license": "BSD-3-Clause", "support": { "issues": "https://github.com/yiisoft/yii2/issues?state=open", "forum": "http://www.yiiframework.com/forum/", "wiki": "http://www.yiiframework.com/wiki/", "irc": "irc://irc.freenode.net/yii", "source": "https://github.com/yiisoft/yii2" }, "minimum-stability": "dev", "require": { "php": ">=5.4.0", "yiisoft/yii2": "~2.0.13", "yiisoft/yii2-bootstrap": "~2.0.0", "yiisoft/yii2-swiftmailer": "~2.0.0", "luoxiaojun1992/yii2-tinker": "*", "kartik-v/yii2-grid": "@dev", "kartik-v/yii2-widget-select2": "@dev", "kartik-v/yii2-mpdf": "dev-master", "moonlandsoft/yii2-phpexcel": "*", "nirvana-msu/yii2-showloading": "1.0.*@dev", "kartik-v/yii2-krajee-base": "^2.0", "kartik-v/yii2-widget-spinner": "@dev", "edwinhaq/yii2-simple-loading": "*", "c006/yii2-submit-spinner": "*", "kartik-v/yii2-detail-view": "*", "fedemotta/yii2-cronjob": "*", "kartik-v/yii2-widget-datetimepicker": "*", "kartik-v/yii2-date-range": "dev-master", "phpoffice/phpspreadsheet": "^1.2", "linslin/yii2-curl": "*", "kartik-v/yii2-widget-fileinput": "@dev", "kartik-v/yii2-dialog": "*", "google/apiclient": "^2.0", "delight-im/str": "^2.4", "mongosoft/yii2-soap-client": "dev-master", "kartik-v/yii2-export": "@dev", "ext-json": "*", "miloschuman/yii2-highcharts-widget": "*", "simialbi/yii2-widget-chart": "^1.0@dev", "onmotion/yii2-widget-apexcharts": "dev-master", "2amigos/yii2-chartjs-widget": "~2.0", "kartik-v/yii2-bootstrap4-dropdown": "@dev", "practically/yii2-chartjs": "dev-master", "php-parallel-lint/php-console-color": "dev-master", "nnnick/chartjs": "v2.9.3" }, "require-dev": { "yiisoft/yii2-debug": "~2.0.0", "yiisoft/yii2-gii": "~2.0.0", "yiisoft/yii2-faker": "~2.0.0", "codeception/base": "^2.2.3", "codeception/verify": "~0.3.1" }, "config": { "process-timeout": 1800, "fxp-asset": { "enabled": false } }, "extra": { "asset-installer-paths": { "npm-asset-library": "vendor/npm", "bower-asset-library": "vendor/bower" } }, "scripts": { "post-install-cmd": "php init --env=Development --overwrite=n" }, "autoload": { "psr-4": { "kartik\\spinner\\": "", "nirvana\\showloading\\": "" } }, "repositories": [{ "type": "composer", "url": "https://asset-packagist.org" }] } 更新3 从 highcharts 中删除了 composer.json 包,然后执行 composer update F:\xampp\htdocs\mdc>composer require --prefer-dist miloschuman/yii2-highcharts-widget "*" ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 2 installs, 0 updates, 0 removals - Installing bower-asset/highcharts (v7.2.1): Loading from cache - Installing miloschuman/yii2-highcharts-widget (dev-master 260b946): Loading from cache Package codeception/base is abandoned, you should avoid using it. No replacement was suggested. Package jakub-onderka/php-console-color is abandoned, you should avoid using it. Use php-parallel-lint/php-console-color instead. Package jakub-onderka/php-console-highlighter is abandoned, you should avoid using it. Use php-parallel-lint/php-console-highlighter instead. Writing lock file Generating autoload files 14 packages you are using are looking for funding. Use the `composer fund` command to find out more! 出现同样的错误 无效参数 – yii ase\InvalidArgumentException The file or directory to be published does not exist: F:\xampp\htdocs\mdc/vendor\bower/highcharts 更新4 根据@Taron 第一个解决方案,我有backend/config/main.php <?PHP $params = array_merge( require(__DIR__ . '/../../common/config/params.php'), require(__DIR__ . '/../../common/config/params-local.php'), require(__DIR__ . '/params.php'), require(__DIR__ . '/params-local.php') // require(__DIR__ .'/main-local.php') ); return [ 'id' => 'app-backend', 'basePath' => dirname(__DIR__), 'controllerNamespace' => 'backend\controllers', 'bootstrap' => ['log'], 'modules' => [ 'gridview' => [ 'class' => '\kartik\grid\Module' ], 'api' => [ 'class' => 'backend\modules\api\Api', ], ], 'timeZone' => 'Asia/Karachi', 'components' => [ 'request' => [ 'csrfParam' => '_csrf-backend', 'parsers' => [ 'application/json' => 'yii\web\JsonParser', ], 'enableCookieValidation' => false, 'enableCsrfValidation' => false, ], 'user' => [ 'identityClass' => 'common\models\User', 'enableAutoLogin' => true, 'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true], ], 'session' => [ // this is the name of the session cookie used for login on the backend 'name' => 'advanced-backend', ], 'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], ], ], ], 'errorHandler' => [ 'errorAction' => 'site/error', ], 'urlManager' => [ 'class' => 'yii\web\UrlManager', 'showScriptName' => false, 'enablePrettyUrl' => true, 'rules' => array( '<controller:\w+>/<id:\d+>' => '<controller>/view', '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', '<controller:\w+>/<action:\w+>' => '<controller>/<action>', ), ], ], 'params' => $params, ]; 如何消除这个错误? 任何帮助将不胜感激 看起来像 Bower 资源存储在路径 /vendor/bower-assets 中,但您的脚本尝试从 vendor/bower 加载资源(Bower 资源路径错误)。尝试以下解决方案,我希望其中之一能帮助您。 先解决方案: 只需将以下别名添加到您的配置文件中(config/web.php) 'aliases' => [ '@bower' => '@vendor/bower-asset', '@npm' => '@vendor/npm-asset', ], 解决方案二: 删除 composer.lock 文件 添加 fxp 包:composer globalrequire "fxp/composer-asset-plugin:~1.1.1" 重新安装作曲家:composer --prefer-dist install
我正在尝试从我的基本目录运行 ./yii 。 几个月前我使用了控制台应用程序,然后它就可以工作了。 我不确定发生了什么变化。 我收到以下错误: 异常'
yii2中继承ActiveRecord的模型是否可以上传文件?
我从 yii2 中的数据库表中使用 Gii 生成了一个模型。该模型继承自 ActiveRecord 。然后我从这个模型创建了一个表单。现在我想用这个表单上传一个文件。 可以吗
我在我的实时服务器上安装了 yii,我们有两个接口,一个后端,一个前端。在后端我们添加产品,并在前端呈现产品的视图。问题是对于
我是 yii2 框架的新人,当我尝试连接两个以上的表时,它没有在 gridview 中加载。 我正在尝试从语言表中获取语言名称,我可以通过用户语言表获取该名称
我尝试使用 Aouth2 来保护 mongoDB 和 yii2 的 api。但无法将 Aouth 与 mongoDB 连接。任何人都知道如何在 yii2 中使用 mongoDB 作为 oauth2 的存储。 您的帮助将是
我正在尝试在 yii2 中实现 filsh oauth2。但我明白了 { "name": "异常", "message": "传递给 OAuth2\GrantType\ClientCredentials::__construct() 的参数 1 必须实现接口
Yii2:如何重写 yii\db\Query 类以添加带有查询的默认条件
我想创建一个基于云的应用程序,将应用程序 id 和branch_id 存储在会话中,并且我想将application_id 和branch_id 添加到每个数据库查询中。 很简单,我正在重写 f...
Yii2 Activerecord 在重定向之前未保存并显示在“视图”中
Yii2 框架。当我在另一个 ActiveRecord 的 AFTER_INSERT_EVENT 中保存多个 ActiveRecord 时,数据库中的值更新速度不够快,因此重定向到 vie 时会显示旧值...
因为yii2 Advanced中只有用户表。因此用户可以使用相同的凭据登录前端和后端。我们想把它分离出来。 所以我创建了 frontuser 表,其结构与...
yii2 select2 by kartik-v 设置默认值
我有一个关于 yii2 kartik-v widget select 2 的问题。 该小部件附加到我视图中的一个字段 field($model, '地址')->widget(Select2::className(), [ '选项' => ['
Yii2 控制台应用程序错误“无法实例化组件或类“用户”。”
我对 Yii2 还很陌生。我创建了一个前端 Yii2 应用程序,现在我想定义一个 cronjob 来每晚调用一些操作。 我按照
我是使用 yii2 框架的初学者。我有一个奇怪的问题。 有时,在我的网站中使用我的用户名和密码登录后,它会向我显示另一个帐户和个人资料,就像我使用另一个用户一样......
Yii2 登录表单仅在 ajaxvalidation 为 false 时才有效
我有一个登录表单,仅当我关闭ajaxValidation时才有效。如果我启用 itenableAjaxValidation = true` 它就会死掉。问题是什么?与模型规则有关吗?上一篇
我在页脚内有一个订阅新闻通讯表格,该表格显示在所有页面上。为此,我创建了一个订阅者小部件,如下所示: SubscriberWidget.php 我在页脚内有一个订阅新闻通讯表格,该表格显示在所有页面上。为此,我创建了一个像这样的订阅者小部件: SubscriberWidget.php <?php namespace frontend\components; use Yii; use yii\base\Widget; use yii\helpers\Html; use frontend\models\SubscribeNewsletterForm; class SubscriberWidget extends Widget { public function run() { $subscriber_model = new SubscribeNewsletterForm(); return $this->render('_subscribe-newsletter-form.php', [ 'subscriber_model' => $subscriber_model ]); } } ?> 这是 SubscribeNewsletterForm 模型代码: 订阅新闻通讯表格.php <?php namespace frontend\models; use Yii; use yii\base\Model; class SubscribeNewsletterForm extends Model { public $email; public function rules() { return [ [['email'], 'required'], ['email', 'email'] ]; } } ?> 这是我的_subscribe-newsletter-form.php的代码 <?php use yii\helpers\Html; use yii\bootstrap\ActiveForm; use yii\helpers\Url; ?> <h3>Subscribe to Newsletter</h3> <?php $form = ActiveForm::begin(['id' => $subscriber_model->formName(), 'action' => ['project/subscriber'], 'validateOnBlur' => false, 'validateOnType' => false]); ?> <div class="input-group"> <?= $form->field($subscriber_model, 'email')->textInput()->label(false); ?> <span class="input-group-btn"> <?php echo Html::submitButton('Sign Up', ['class' => 'btn btn-primary subscribe-btn']); ?> </span> </div> <?php ActiveForm::end(); ?> <?php $script = <<< JS $('#{$subscriber_model->formName()}').on('beforeSubmit', function(e){ var form = $(this); $.post( form.attr("action"), form.serialize() ).done(function(data){ form.trigger("reset"); }) return false; }); JS; $this->registerJs($script); ?> 在ProjectController.php中我创建了如下操作: public function actionSubscriber() { $subscriber_model = new SubscribeNewsletterForm(); $request = Yii::$app->request; if($request->isAjax && $subscriber_model->load($request->post())){ $subscriber = new Subscriber([ 'email' => $subscriber_model->email ]); $subscriber->save(); } } 这是订阅者模型代码。 订阅者.php <?php namespace frontend\models; use yii\db\ActiveRecord; class Subscriber extends ActiveRecord { public static function tableName() { return 'subscriber'; } } ?> 前端/config/main.php <?php $params = array_merge( require(__DIR__ . '/../../common/config/params.php'), require(__DIR__ . '/../../common/config/params-local.php'), require(__DIR__ . '/params.php'), require(__DIR__ . '/params-local.php') ); return [ 'id' => 'app-frontend', 'basePath' => dirname(__DIR__), 'bootstrap' => ['log'], 'controllerNamespace' => 'frontend\controllers', 'components' => [ 'request' => [ 'csrfParam' => '_csrf-frontend', ], 'user' => [ 'identityClass' => 'common\models\User', 'enableAutoLogin' => true, 'identityCookie' => ['name' => '_identity-frontend', 'httpOnly' => true], ], 'session' => [ // this is the name of the session cookie used for login on the frontend 'name' => 'advanced-frontend', ], 'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], ], ], ], 'errorHandler' => [ 'errorAction' => 'site/error', ], /* 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ ], ], */ ], 'params' => $params, ]; ?> 上述代码验证有效,但我无法将电子邮件保存在数据库中。请告诉我我做错了什么。 您的模型需要规则。另外,我总是用表前缀支持的方法替换生成的表名称。另外,我总是喜欢使用时间戳行为来记录创建或更新事物的时间。特别是当您获取联系信息以使用潜在客户时,我会记录时间戳及其 IP 地址。 订阅者.php use yii\behaviors\TimestampBehavior; // ... /** * @inheritdoc */ public static function tableName() { return '{{%subscriber}}'; } /** * @inheritdoc */ public function behaviors() { return [ TimestampBehavior::className(), ]; } /** * @inheritdoc */ public function rules() { return [ ['email', 'filter', 'filter' => 'trim'], ['email', 'required'], ['email', 'email'], ['email', 'string', 'max' => 255], ['email', 'unique', 'targetClass' => '\common\models\Subscriber', 'message' => 'This email address has already been taken.'], [['created_at', 'updated_at'], 'integer'], ]; }
当我调用 warning() 或 info() 时,如何防止 post 变量出现在 Yii2 日志中?
我正在维护一个用 Yii2 构建的应用程序,我想使用 Yii::warning() 来写入日志消息。除非我在用户登录序列中记录事件,否则这很好。 用户名和密码是...
我在使用 Yii2 在高级模板内设置 API 应用程序时遇到问题。除了使用我的 API v1 调用模块的 404 之外,我无法获得任何输入 我正在尝试使用
Yii2 API 的 Woocommerce webhook 返回 401
当在 woocommerce 网站上通过 woocommerce 上的 webhook 到我的 yii2 应用程序购买产品时,我尝试接收库存产品的修改。 到目前为止我收到了 401 错误。 有关信息,我尝试连接
我是 yii2 的新用户,我想使用 REST API 登录用户,但无法做到这一点。我已经从这个博客设置了基本的 REST API: budiirawan.com/setup-restful-api-yii2/ 之后我创建了: api\modu...
Yii2 KCFinder : 如何上传图片到“Common”或“Frontend”目录
我遇到了问题。我使用 CKEditor 来创建 HTML 编辑器,并使用 KCFinder 在 HTML 编辑器中上传和插入图像。我的问题是,我无法显示我通过 KCFin 上传的图像...