Yii2.0 两次奇葩的数据库连接经历】的更多相关文章

经历一: 公司的项目经过阿里云的ECS升级后,发现在Yii2.0框架中,凡是数据库新增的字段(当然相关的表模型肯定是加了相应字段的),老是报“属性找不到”的问题,最后排查是数据库连接的问题.把127.0.0.1修改为localhost成功解决问题.至于127.0.0.1与localhost连接数据库到底有何差异,大家请自行百度科普. 经历二: 同样是Yii2.0框架,有一次通过phpMyadmin修改了服务器的数据库连接密码,同时也修改了Yii2.0的数据库配置文件(配置文件中的数据库连接信息核…
第一种: 这几天刚接触到yii2.0框架,在配置advanced版本时运行init.bat初始化文件时老是闪退: 用cmd运行该文件时显示:The OpenSSL PHP extension is required by Yii2.如下图所示: 搜索了很多资料,终于找到问题所在之处了,原来是php.ini中的extension=php_openssl.dll没有打开: 1.打开php.ini文件,如我的目录是D:\wamp\php\php.ini,搜索extension=php_openssl.…
依赖注入和依赖注入容器 为了降低代码耦合程度,提高项目的可维护性,Yii采用多许多当下最流行又相对成熟的设计模式,包括了依赖注入(Denpdency Injection, DI)和服务定位器(Service Locator)两种模式.关于依赖注入与服务定位器, Inversion of Control Containers and the Dependency Injection pattern <http://martinfowler.com/articles/injection.html>…
缘起 因为一个月的短暂停留,我在给朋友搞事情,所以Yii系列的文章耽搁了很长时间,现在又重拾当时的知识,给大伙好好撸下这一系列的博客 提起Yii,虽然是国外的开发者搞的,但是它的作者是华人,这才是让我们引以为豪的,如果以后有机会薛强回国大力发展PHP事业,我肯定回去他麾下搞事情,为PHP在国内的发展贡献自己的一份力,虽然现在没有这个能力,这不薛强没回来嘛,回来的话那时的我肯定可以的~哈哈哈~ 领英上强哥的背景如下: 职务:MicroStrategy 公司担任构架师 地址:美国首都华盛顿 Metr…
Yii2.0基础框架   缘起 因为一个月的短暂停留,我在给朋友搞事情,所以Yii系列的文章耽搁了很长时间,现在又重拾当时的知识,给大伙好好撸下这一系列的博客 提起Yii,虽然是国外的开发者搞的,但是它的作者是华人,这才是让我们引以为豪的,如果以后有机会薛强回国大力发展PHP事业,我肯定回去他麾下搞事情,为PHP在国内的发展贡献自己的一份力,虽然现在没有这个能力,这不薛强没回来嘛,回来的话那时的我肯定可以的~哈哈哈~ 领英上强哥的背景如下: 职务:MicroStrategy 公司担任构架师 地址…
前言:最近在用php写一个项目的接口,所以需要学习一下Yii的框架,也在这里记录一下. 整体结构 ssets文件夹:assets的作用是方便模块化,插件化的,一般来说出于安全原因不允许通过url访问protected下面的文件 ,但是我们又希望将module单独出来,所以需要使用发布,即将一个目录下的文件复制一份到assets下面方便通过url访问. commands文件夹:控制台脚本存放的地方,自动运行脚本 config文件夹:配置文件存放的文件夹 controller文件夹:MVC中C文件存…
我前几天用composer安装 一直没成功  我就用归档的方法安装了  所以这篇文字只帮助那些用归档方法安装的朋友 Yii是一个高性能的,适用于开发WEB2.0应用的PHP框架. Yii自带了丰富的功能 ,包括MVC,DAO/ActiveRecord,I18N/L10N,缓存,,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间.2.0.0版本发布于2014年10月12日.下面介绍一下Yii2.0 basic模板和高级(advanced)模板的安装. 要点: 打开dos 操作命令…
yii2.0安装心得 能够搜索到这篇文章的朋友相信是对yii框架有兴趣的,但是我不得不吐槽的是,这个安装过程确实让人头疼,接下来就让大家见证一下这个纠结的过程 根据官网的说法,安装这个框架需要用到composer,没有办法拉,先去大概的了解一下这个composer吧 什么是composer 根据composer的官网,它是这样解释的:composer是php用来管理依赖关系的工具,搞的这么复杂,直接说就是一个比较智能的下载工具不就好了.比如说我的项目是依赖yii框架的,而yii是依赖于其他东西的…
在mac上装环境,折腾了我好久.先用是mac自带的php,但自带的PHP很多扩展都需要自己安装.libevent,memcache等扩展都安装好了之后,发现pdo_mysql.dll扩展又没有,悲剧的是下班回来好几天都没搞好.因为年底比较忙,所以只有下班回来才能调环境.后来不行我就想用个xampp集成环境,刚好在公司用的也是xampp,一般的扩展都集成了,不用再安装了. 后来下了一个xampp,但是问题又出现了,之前能用的memcache扩展不能用了,我又重新安装,但都不行.犯的第一个错误是安装…
第一节 简单认识版本的异同 (1)版本说明 在安装和使用之前,我们需要知道 PHP Yii 有两个不同的版本(Yii 1.*或者Yii 2.*),这两个版本的目录结构不一样,其具体使用方式差异较大,因此我们需要简单了解一下这两个版本(详情见http://www.digpage.com/preface.html#yii),在确定自己需要使用的Yii版本之后可以着手安装PHP Yii框架,我们需要注意的是Yii 2.* 需要 PHP 5.4.0 或以上版本支持,且Yii 2.*有basic版和高级版…
作为一个PHP开发者,而且是初创企业团队的技术开发者,选择开发框架是个很艰难的事情. 用ThinkPHP的话,招聘一个刚从培训机构出来的开发者就可以上手了,但是性能和后期代码解耦是个让人头疼的事情.不过很多第三方功能不需要自己写,众多大牛已经给铺好路了. 用Laravel的话,传说写起来很爽扩展性也够,但是学习成本有点高,总不能给初级开发者半个月的时间去学习框架吧.而且据说江湖人士透漏,Laravel性能不怎么样,文档也并不是特别丰富. 用Yii的话,语法有点啰嗦,前后端代码分离有点小麻烦,不过…
最近农成也是切入了yiiframework 2.0,就是安装yii2.0就花费了不少的时间,为此做了很多的弯路,特此写一篇博文来给后面学习的同学少走一点的弯路.写的不好的地方欢迎各位学习的同学们能够指点出来. yii2.0的安装,官方提供了两种的安装办法,一种是通过composer来安装,另外一种是通过跟yii1.0的办法直接下载安装包来安装.至于对于第一种composer的安装,农成就不做多余的说明了,这里有很好的安装教程.点击进去就可以看到了,为此农成就不在说了,下面就给大家详细讲讲第二种通…
nginx1.9.4 +php 5.5.29+yii2.0配置手册 目录 一.    php5.5.29安装配置    2 二.    nginx1.9.4安装配置    2 三.    yii2.0安装配置    2 1.    基础版安装    2 2.    高级版安装    8 四.    问题    8 五.    参考资料    8 六.    附注    8       php5.5.29安装配置 php下载地址:http://php.net/downloads.php 下载php…
1.一键安装LNMP cd /usr wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz tar zxf lnmp1.-full.tar.gz cd lnmp1.-full ./install.sh lnmp 进入安装状态后按照提示做安装选择( 参考 http://lnmp.org/install.html ) 2.安装Yii2.0  a 先安装好composer //进入/usr目录 curl -sS https://getcompos…
(注:己yii2.0高级应用为例) 面包屑在布局里定义好之后,在视图中直接使即可,但默是使用英文. 一.布局中定义面包屑 backend/views/layout/main.php: use backend\assets\AppAsset;use yii\widgets\Breadcrumbs;AppAsset::register($this);//省略代码.....<?= Breadcrumbs::widget([ //'homeLink'=>['label' => '主 页','ur…
版权声明:本文为博主原创文章,未经博主允许不得转载. PHP版本需求:PHP5.4.0以上,因为Yii2.0基于PHP5.4以上版本进行了完全重写. 目前有两种方法可以安装Yii2.0,一种是安装Composer,使用composer生成yii应用程序:另一种是直接下载应用程序模板.应用程序模板有基本模版和高级模版两种.他们的主要的区别就是高级模版提供了环境切换和前后台分离. 1.使用Composer安装Yii ⑴windows下安装composer: 个人不建议使用composer安装,因为c…
先是composer的安装,主要有两个方式,一个直接下载安装包安装,Composer-steup.exe文件,第二种直接下载composer.phar文件,用php去运行这个文件可以一样起到作用,之后所有的命令composer都可以用php composer.phar代替.最后把环境变量配置一下,把php执行文件php.exe配置到环境变量path,那就大功告成了.如果感觉访问国外的网站太慢,可以配置一下Composer中文镜像. Yii2.0主要有两个版本,一个基础版的,一个高级版的. 在这之…
之前的文章我们根据源码的分析,弄清了Yii如何处理一次请求,以及根据解析的路由如何调用控制器中的action,那接下来好奇的可能就是,我在控制器action中执行了return $this->render('index'),那render这个方法是如何完成渲染视图文件的工作的?我们继续从源码入手. 1.找到视图文件 先看我们在controller/action中视图渲染的调用: public function actionIndex() { //代码省略 return $this->rende…
1.先看PHP观察者模式的实现: 想要使用事件.必须实现事件的基类.统一的addObserver和trigger方法 定义统一接口.所有的观察者都要实现此接口 //事件的基类 abstract class BaseEvent { private static $observer; //添加观察者 public function addObserver($obj) { self::$observer[] = $obj; } //触发事件.通知所有的观察者 public function trigg…
Yii2.0连接多个数据库    一个项目根据需要会要求连接多个数据库,这里记录下实际项目中的操作流程.包括对数据库连接的配置以及如何生成模型文件,在控制器中加以运用. 一.配置 打开数据库配置文件common\config\main-local.php,在原先的db配置项下面添加db2(该名称可由自己任取,不能与别的数据库名重复即可),配置第二个数据库的属性即可 如上配置就可以完成yii2连接多个数据库的功能,但还是需要注意实际中应用 二.应用 1.我们在huishiwang数据库中新建一个测…
Yii中的资源是和Web页面相关的文件,可为CSS文件,JavaScript文件,图片或视频等,资源放在Web可访问的目录下,直接被Web服务器调用. 有时候有些功能需要做到计划任务中去,因此就需要yii能用php命令去执行.yii2.0是支持php命令行运行的,操作方法如下: 在yii根目录下面有个“yii”文件(不是“yii.bat”),这个文件就是入口.然后“commands”目录下会默认有个“HelloController.php”控制器文件,这个是一个demo.打开这个控制器文件,源码…
Controller控制器层代码 <?php namespace frontend\controllers; use frontend\models\UserForm; class UserController extends \yii\web\Controller { public function actionIndex() { $model = new UserForm; if ($model->load(\Yii::$app->request->post()) &&…
链接:http://www.yiichina.com/tutorial/399 (注:以下为Yii2.0高级应用测试) Yii2.0对于CSS/JS 管理,使用AssetBundle资源包类. 视图如何按需加载CSS/JS ? 资源包定义: backend/assets/AppAsset.php namespace backend\assets; use yii\web\AssetBundle; /** * @author chan <maclechan@qq.com> * @since 2.…
接上一节的话,我们最终选择了Yii框架作为我们的主要开发框架,今天,我就和大伙来聊聊如何安装与调试Yii2.0,以及后续会和大伙聊聊如何在Yii2.0上快速撸代码. Yii2.0的安装 好的,Composer这个利器我们在[http://www.cnblogs.com/riverdubu/p/6444403.html]这一章节中已经讲了如何安装,今天我们就要开始安装我们的Yii2.0源码啦. 切换到一个可通过 Web 访问的目录,执行如下命令即可安装 Yii : $composer global…
知乎上有个类似的问题:http://www.zhihu.com/question/22924271/answer/23085751 大致思路不会变,开发流程变化也不是很大.有变化的是1.yii2带入的PHP5.4的特性,引入了namespace解决命名冲突,因此基类不会再C字开头了2.不再所有类都继承自组件Component,而是选择继承object和component(也继承自object,但带有事件功能.以及用于扩展的Behavior功能)3.更加的MVC,原先的view层其实基本算是con…
首先要想使用qq发送邮件必须打开使用的qq邮箱里的一个配置,…
在yii框架里有前台和后台页面,举例前台url重写. 控制器与路由 控制器以Controller作为后缀,继承自yii\web\Controller; 动作以action作为前缀,public访问修饰; 控制器ID 类名去后缀,全部转为小写,如果是驼峰命名多个单词转为中杠分割; 动作ID 去前缀,全部转为小写,如果是驼峰命名多个单词,转为中杠分割: 路由如何指向动作:控制器ID/动作ID URL访问规则:index.PHP?r=路由 传参使用&参数=值 的方式 默认路由site定义在yii\we…
原文:Yii2.0的乐观锁与悲观锁 Web应用往往面临多用户环境,这种情况下的并发写入控制, 几乎成为每个开发人员都必须掌握的一项技能. 在并发环境下,有可能会出现脏读(Dirty Read).不可重复读(Unrepeatable Read). 幻读(Phantom Read).更新丢失(Lost update)等情况.具体的表现可以自行搜索. 为了应对这些问题,主流数据库都提供了锁机制,并引入了事务隔离级别的概念. 这里我们都不作解释了,拿这些关键词一搜,网上大把大把的. 但是,就于具体开发过…
最近在用Yii2.0做项目,其中需要实现一个功能:没有登录不能访问部分页面,即游客身份访问限制.查了半天资料,终于找到答案.解决方法如下: 在access里,access即访问的意思,其中有个配置项 'only'=>['login','about']  这是什么意思呢,意思是仅仅在login.about两个action内起作用,即当action 是login.about时,会进入rules里做下一步验证. 但是 我们想除了登录.注册以外其他action均不允许访问怎么办呢?还有其他的配置,我们把…
在Yii中,当请求一个Url的时候,首先在application中获取request信息,然后由request通过urlManager解析出route,再在Module中根据route来创建controller并处理request.如:http://www.yiifans.com/index.php?r=site/login.会使用SiteController里面的actionLogin动作来处理这个请求. Yii中总共有三种控制器类 base\Controller.php        这个是…