yii cli模式 杂记

yipack-cli:易打包-命令行工具 yipack (易打包) 一个神奇的项目开发脚手架,一个强大的 yipack 生态。 文档地址 仓库 项目代号 项目名称 github 仓库地址 gitee 仓库地址 yipack-cli 脚手架 yipack-cli web 项目初始化模板 yipack-template-init web 后台管理模板 yipack-template-admin web 博客模板 yipack-template-blog uniapp 项目模板 yipack-template-uniapp uniapp 项目插件 yipack-plugin-uniapp phalapi 接口模板 yipack-template-phalapi github gitee utils 项目工具函数 yipack-plugin-utils github gitee 喜欢的同学请点个 star,您的支持就是我最大的动力。 概述 立即下载

按照网络上一般的套路,就是在网站根目录下,新建一个php文件,例如index_cli.php,内容如下:

<?php
$yiic=dirname(__FILE__).'/../yii/framework/yiic.php';
$config=dirname(__FILE__).'/protected/config/console.php';

// remove the following line when in production mode
defined('YII_DEBUG') or define('YII_DEBUG',true);

require_once($yiic);
Yii::createConsoleApplication($config)->run();

config目录下的console.php或者main.php都是可以。关键的参数配置正确就可以,例如数据库连接。

然后,在protected/commands下建立一个类文件,例如TestCommand.php,内容如下:

<?php

class TestCommand extends CConsoleCommand
{
    public function actionIndex(){
        $DbConnection = Yii::app()->db;
        $sqlstr = "select * from test";
        $command = $DbConnection->createCommand($sqlstr);
        $viewdata = $command->queryAll();

        foreach ($viewdata as $key => $val){
            echo $val['leftmoney'];
        }
    }
}

然后,在命令行运行:

php index_cli.php test index

就可以看到sql语句的内容。

但发现踩了几个坑。

第一坑:
PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) ‘mbstring.so’ in Unknown on line 0

这个是由于php编译时修改了php.ini导致,最后修改php.ini,把extension=mbstring.so屏蔽,即在最前面加;,然后重启php-fpm,如果用apache的,直接重启apache。就可以解决问题。(编译了新的 php模块进来后,不一定要增加extension的配置)

第二坑:
发现网上很多介绍在入口文件要加入:

Yii::createConsoleApplication($config)->run();

但发现加了后反而会出现

Yii application can only be created once.

的错误,去除后却能正常运行。

所以,最终修改成index_cli.php,内容如下:

<?php
$yiic=dirname(__FILE__).'/../yii/framework/yiic.php';
$config=dirname(__FILE__).'/protected/config/console.php';

// remove the following line when in production mode
defined('YII_DEBUG') or define('YII_DEBUG',true);

require_once($yiic);

command下的文件不变,然后在命令行运行:

php index_cli.php test index

index_cli.php为入口文件,test是protected/command文件夹下的类名,index是test类下的action方法。

Yii2框架使用计划任务的方法 本文实例讲述了Yii2框架使用计划任务的方法。分享给大家供大家参考,具体如下: <?php namespace console\controllers; use yii\console\Controller; /** * Test controller */ class TestController extends Controller { public function actionIndex() { echo "cron service runnning"; } public function actionMail($to) { echo "Sending 立即下载

相关推荐

yii2 在控制器中验证请求参数的使用方法

主要介绍了yii2 在控制器中验证请求参数的使用方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

以cli的方式运行Yii

以cli的模式运行Yii

一个想死的骷髅 1599

零基础学会制作 基于STM32/51单片机的智能血压表设计/血压表/血压计

本系统是以单片机为主控,传感器模快、显示模块、人机交互、无线传输等组成的智能血压表设计。传感器用于测量血压和脉搏,主控电路板用于处理数据和控制设备,显示屏则用于显示测量结果。通过软件设计,完成测量数据的处理,其中血压和脉搏的测量、数据的分析和处理等。

weixin_55654459的博客 2473

yii2框架-console的cli模式(二十)

又有两周的时间没有写blog了,没办法最近实在是太忙了,公司的项目一直在赶,而且还要使用nodejs去实现功能,所以整个团队的又得乖乖认真的学习nodejs。互联网技术每天都在日新月异的快速发展,我们作为一名设计与开发人员,每天都要关注整个移动互联网的发展趋势,掌握实时动态。好吧,回归正题,yii2作为一个高性能的web开发框架,在处理后台任务方面有什么优势?是否可以实现cli的模式实现框架本身的...

bingcool 1万+

2026深度破解:OpenClaw开源AI框架架构与实战全景解析

2026年初,一款名为OpenClaw的开源AI Agent框架以惊人的速度席卷全球开发者社区,短短数周GitHub星标突破20万,成为史上增长最快的开源项目。本文从架构设计、核心原理、代码实现和工程实战四个维度,深度剖析OpenClaw的技术内核,帮助开发者从理解到实践,快速掌握这一革命性的AI开发框架。

fox0329的博客 2373

C#串口通讯实战:如何用SerialPort类搞定工业传感器数据采集(附完整代码)

本文详细介绍了如何使用C#的SerialPort类实现工业级传感器数据采集,涵盖串口通讯基础配置、数据帧处理、异常恢复机制及性能优化策略。通过实战代码示例,帮助开发者构建稳定可靠的工业数据采集系统,特别适合需要处理高频数据采集和复杂工业环境的场景。

weixin_42525551的博客 1086

php yii2 cli 参数,YII2框架使用控制台命令的方法分析

本文实例讲述了YII2框架使用控制台命令的方法。分享给大家供大家参考,具体如下:有些时候我们需要通过crontab在后台跑一些定时脚本,这时候就需要用到控制台命令了。我们在commands目录下创建TestController.php,当然脚本的位置是可以随意指定的,只需要在config/console.php中配置好就行。$config = ['controllerNamespace' =&gt...

weixin_32097465的博客 505

3D Slicer-最强大的开源医学图像分割工具简要概述

3D Slicer 是一个免费的开源软件平台,用于医学、生物医学和其他 3D 图像的可视化、处理、分割、配准和分析。读/写DICOM图像和多种其他格式;三维图像、多边形网格和体积渲染的交互式可视化;手动编辑和标记图像;使用刚性和非刚性算法融合和共同配准数据;图像自动分割;跟踪图像引导程序的设备。所有的功能模块可在工具栏里找到,提供搜索,下拉选择,左右切换等功能。3D slicer的大概情况就介绍到这里。它的功能非常强大,也没有必要说掌握每个功能的使用。

Tina姐的博客 2万+

YII配置rabbitMQ时前期工作各种坑

背景如下: 项目需要做一个订阅/发布的功能,然后一大堆讨论不做说明,确认使用rabbitMQ来做; okay,既然 要这个来做,我们下载这个东西吧!在官网上下载就okay了,不做说明,下载安装的时候会提示你下载erlang语言,下就是了,不管; 要知道rabbitMQ是服务器,所以就想进入页面了,相信英文不好的同学,就回去百度啊,谷歌啊,然后有了在浏览器中输入localhost:15672,...

weixin_30496431的博客 155

【MATLAB代码】二维平面的TOA定位,GDOP(几何精度因子)和CRLB(克拉美罗下界)计算与输出

本文介绍了一个MATLAB程序,用于计算二维定位场景中的几何精度因子(GDOP)和克拉美罗下界(CRLB)。该程序针对单目标和四个锚点配置,通过网格扫描法计算空间各点的GDOP分布,并以等高线图可视化展示。程序还可计算特定位置的理论定位精度下限(CRLB),输出X/Y方向标准差和GDOP值。核心算法通过构建几何矩阵和费舍尔信息矩阵实现,考虑了测量误差影响,并处理了特殊位置情况。程序提供了完整的源代码和参数修改说明,适用于定位系统精度分析。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 803

IDEA出现闪退或打不开的解决方法

本身项目比较大,为了打开这个软件,可调节IDEA中安装的bin目录下有个。打开IDEA的时候过一会便闪退,可以再IDEA的右下角看到如下提示。(如果没有该提示,软件右下角也会有个红色感叹号,点开查看原因即可)闪退的多数原因大致是out of memory,内存溢出。查看任务管理器中的进程:(发现内存随时有溢出的情况)但也需要注意,该参数并不是越大越好,适中即可。只有个别原因是需要管理员权限就可执行!可以尽量减少软件的启动。

码农研究僧的博客 5944

CLI模式下Yii2的log问题追踪

转载请注明出处:https://tlanyan.me/trace-log-... 命令行下运行长时间任务,发现Yii2的log组件不能正常输出日志。空闲之余逐步追踪问题,终于发现原因,以下是问题追踪记录。 问题复现 为了复现问题,预先准备了log组件的配置: // file: console/config/console-local.p...

weixin_34232617的博客 365

第1讲|AI产品经理全景图谱:不是“会用AI工具”,而是能对AI产品结果负责

本文从岗位本质出发,系统拆解 AI 产品经理的职责、岗位类型与能力模型,帮助读者理解 AI PM 与传统 PM 的核心差异,明确自己适合的转型方向,并建立“对 AI 产品结果负责”的产品认知。

从零开始,掌握网络安全。提供全面的网络安全教程、攻防演练技巧和行业动态。 1016

PHP Yii 命令行程序以及定时任务详解

为啥要编写命令行程序? 命令行程序通常是一个脚本,但是PHP Yii 是web开发语言,如何能开发脚本程序? 所以,首先我们要明白使用PHP Yii 编写脚本语言的目的和原理。 目的 设想这么一个场景,你开发了一个电子商务网站,在测试阶段,你希望模拟用户的下单操作。或者你开发了一个类股票网站,在测试阶段,你需要模拟用户的委托买入、卖出操作,并撮合用户的买入和卖出。毕竟,如果想模

飞鱼 1万+

【部署】Kimi 接入OpenClaw完整步骤及关键注意事项

本文详细介绍了如何将Kimi AI接入OpenClaw系统的完整步骤。首先需确保环境满足OpenClaw版本要求和系统支持,然后通过配置向导完成本地网关设置和Kimi模型接入,包括API密钥配置。文章提供了详细的命令操作和界面截图指导,并重点说明了安全警告处理、服务状态检查、API密钥有效性验证等关键注意事项。最后还展示了Kimi流量消耗明细和问题排查方法,帮助用户顺利完成接入并解决常见问题。整个流程清晰明了,涵盖了从环境准备到最终验证的全部环节。

海兰 7186

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

yii1 命令行的使用

yii1的命令行,使用很简单: 第一步:下载yii1 第二步:在application目录下创建应用,并且在protected目录下添加commands文件夹 第三步:创建文件,在commands中创建文件, TestCommand extends CConsoleCommand{ //agrs是必须有的参数,可以在命令行不定义,但是这里必须要有,是传递到函数里面的参数,类型是一个数组

快乐de馒头 2120

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

php yii 命令行,命令行模式(Command)

命令行模式(Command)3.2.1. 目的为了封装调用和解耦。我们有一个调用程序和一个接收器。 这种模式使用「命令行」将方法调用委托给接收器并且呈现相同的「执行」方法。 因此,调用程序只知道调用「执行」去处理客户端的命令。接收器会从调用程序中分离出来。这个模式的另一面是取消方法的 execute(),也就是 undo() 。命令行也可以通过最小量的复制粘贴和依赖组合(不是继承)被聚合,从而组合...

weixin_31192609的博客 500

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Yii命令行模式

(具体参数描述请使用命令看描述,不过全是英文) 1、Yii提供命令行指令不多,常用的有webapp 和 shell。 Java代码 1.message搜索指定文件信息yiccmessagewebroot/xxx.php 2.shell进入命令行模式 3.webapp创建项目 4.mi...

weixin_30762087的博客 184

yii 命令行模式

把控制器复制到basic\commands下 修改命名空间 namespace app\commands; use yii\console\Controller; 打开cmd 输入:yii hello就能看到结果了

快乐de馒头 761

php cli模式的一些"坑"

看下cli模式好使不 命令行下运行 php -r "echo php_sapi_name();" 这条命令就是在cli模式运行php语句,php -r就是run一条php命令的意思,php_sapi_name()判断当前执行的php是什么模式下,执行成功在屏幕上输出 cli,不成功说明你的php cli模式有问题。 1第1个坑:Mysql连不上 这个问题网上很多人说cli模式没加载ph

webnoties的专栏 1万+

yii2 commands模式以及配置crontab定时任务的方法

yii2 commands模式以及配置crontab定时任务的方法 一 ,检测环境: 首先我们切换到项目根目录,yii2正常安装的话有一个commands文件夹,里面有一个示例文件HelloController.php   namespace app\commands; use yii\console\Controller; class HelloController

wang544831183的博客 3744

php yii 命令行,yii2.0 command 命令行动作实战

1、在根目录下面添加yii和yii.bat两个文件其中yii内容如下#!/usr/bin/env php/*** Yii console bootstrap file.** @link http://www.yiiframework.com/* @copyright Copyright (c) 2008 Yii Software LLC* @license http://www.yiiframew...

weixin_29910561的博客 780

php yii2 cli 参数,yii2 在控制器中验证请求参数的使用方法

写api接口时一般会在控制器中简单验证参数的正确性。使用yii只带验证器(因为比较熟悉)实现有两种方式(效果都不佳)。针对每个请求单独写个Model , 定义验证规则并进行验证。 缺点:写好多参数验证的Model 类。使用独立验证器 中提到的$validator->validateValue()方法直接验证变量值。缺点:写实例化很多验证器对象。有么有“一劳永逸”的做法,像在Mode...

weixin_42644249的博客 422

yii2.0文件如何在php命令行中运行

有时候有些功能需要做到计划任务中去,因此就需要yii能用php命令去执行。yii2.0是支持php命令行运行的,操作方法如下: 在yii根目录下面有个“yii”文件,这个文件就是入口。然后“commands”目录下会默认有个“HelloController.php”控制器文件,这个是一个demo。打开这个控制器文件,源码如下(删掉了部分注释): namespace ap

守护大白菜的博客 5598

php CLI 模式下的传参方法

在CLI模式(命令行界面 Command Line Interface)下,传入参数有如下3种方法: 一. getopt函数(PHP 4 &gt;= 4.3.0, PHP 5) getopt — 从命令行参数列表中获取选项   该函数会匹配传入脚本以单个连字符(-)或(--)开头的选项,将其转化为关联数组。 建立文件:test1.php 代码如下 &lt;?php $opt= get...

qq_36663951的博客 1894
上一篇: linux下文件压缩加密码
下一篇: Docker 杂记
大大蘑菇猪
博客等级 码龄18年 1粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值