第502页

  • 使用nginx和php-fpm

    使用nginx和php-fpm

    一直使用Apache的httpd作为web服务器,对nginx知之甚少。由于nginx对并发的良好支持,越来越多的站点采用nginx+fast_cgi的方式来响应请求。目前本站点也完成了从Httpd到nginx的迁移。 一、请求流程 一次完整的浏览器页面显示过程包含三步: 客户端向服务器发出请求; 服务器接受请求,处理并将响应头信息和数据返回给客户端 客户端解析响应数据,将结果显示。 二、httpd工作方式 httpd是Apache基金会下的web服务器,具有跨平台和稳定等特点。目前h...

    期权知识 2020-08-20 574 0
  • Yii加载多份配置文件

    Yii加载多份配置文件

    在Yii的入口脚本中,配置是传给应用程序的唯一参数。正因为如此,配置文件在Yii里能完全决定程序的运行状态和行为。使用配置文件能减少程序中的硬编码,需要改动的时候只需修改配置文件,便于项目部署。相对于去代码里寻找并修改,这种方式无疑更为便捷和可维护。 Yii程序默认的配置文件位于protected/config文件夹下,main.php为web程序的主配置文件。大部分的配置是各环境共用的,所以main.php一般是放到代码库里的。但是数据库,memcache等配置项,在不同的开发机或者开发环境上经常性的会不同。...

    期权知识 2020-08-20 642 0
  • YII捕捉用户登陆

    YII捕捉用户登陆

    满足用户查看登陆记录的需求,需要把用户的登陆行为捕捉并记录下来。正常的用户登陆在用户登陆的action里面捕捉即可,问题在于使用cookie登陆的捕捉。 YII默认启用了基于COOKIE的登陆方式,在protected/config/main.php下。为了提升用户体验,开启自动登陆也是合理的。但是自动登陆的行为不触发在controller里面的action方法,比如site/login。如果在这里写逻辑记录用户登陆,对于cookie方式则失效。失去了cookie方式的登陆记录,显然这是实现缺陷。 两种解决方...

    期权知识 2020-08-20 548 0
  • Yii创建cli应用

    Yii创建cli应用

    有时我们并不希望某个方法被外部访问,这时可以使用cli脚本来解决这个问题。相对于web应用,外界无法访问cli脚本。另外执行cli应用不需要经过web前端软件(nginx/apache)转发,直接php解析执行,效率更高。 Yii原生支持cli应用,即console应用。protected文件夹下的yiic文件,这是cli应用的入口文件。cli应用的默认配置文件是protected/configs/console.php。根据YII的规定,yii框架的cli程序必须位于protected/commands文件夹...

    期权知识 2020-08-20 601 0
  • nginx配置phpmyadmin

    nginx配置phpmyadmin

    phpmyadmin是常用的mysql web可视化管理软件,经常作为站点辅助程序一起发布。nginx是优秀的高性能web代理和反向代理软件,是web服务器的主流软件。 为了能在浏览器上访问站点的phpmyadmin管理界面,需要在nginx上配置访问规则。根据nginx的语法,相对还是比较简单的。根据phpmyadmin的文件类型分类解析即可。下面是一个常用配置: location ~ /phpmyadmin/.+\.php$ { if ($fastcgi_script_name ~ /phpmya...

    期权知识 2020-08-20 601 0
  • 请务必为root用户创建密码

    请务必为root用户创建密码

    像ubuntu这样的系统,默认是没有root密码的。如果需要使用特权,可以使用sudo临时切换到root状态。还有许多其他的系统,同样存在类似的情况。 以两个活生生的例子来说明没有root密码的悲剧: 这篇文章 讲述了无意中改变/usr/bin/sudo的权限,因为没有root密码,导致了解决极其复杂; 近期将博客迁移到 AWS 上,选择了默认的CentOS作为操作系统。在一顿初始化,安装更新之后,再次连接上发现无法切换到root状态了!猛然想起来近期的bash漏洞,更新之后导致了sudo命令已经不...

    期权知识 2020-08-20 599 0
  • 使用ssh访问外部网站

    使用ssh访问外部网站

    由于国内的环境,许多外部的服务都无法使用。被认为是轻而易举能够得到的资源,在内地只能是可望而不可即。 从另一方面讲,这促进了国人翻墙技术的发展。各种翻墙软件在这个环境下催生,并有各自的用户和市场。许多人被逼着去学相关技术,最后还可能成为了高手,不得不说要感谢国家啊! 之前一直使用goagent这个软件,到如今google服务经常性被封杀,这个软件可使用的范围越来越少。因为打算申请adsense的账号,不得不翻墙。现在觉得比较靠谱的是使用ssh翻墙。 之前使用过squid代理,可惜如果服务器在境外,经过路由的...

    期权知识 2020-08-20 640 0
  • c++ for_each 引用调用

    c++ for_each 引用调用

    C++中的 for_each 函数是for循环的一种替代方案。for_each 位于算法库中,调用的时候需要包含algorithm头文件。 for_each 的原型为: template<class InputIt, class UnaryFunction> UnaryFunction for_each( InputIt first, InputIt last, UnaryFunction f ); 前两个参数为起止迭代器,第三个参数是一个一元函数。C++11标准已经实现了闭包,第三个...

    期权知识 2020-08-20 626 0
  • Yii使用action

    Yii使用action

    Yii使用了MVC的开发模式,意在剥离数据获取,义务逻辑和视图,从而达到职责分离,代码复用的效果。在之前的开发中,一直是在model里面写数据获取,在controller里面写业务逻辑,在view里面写视图代码。对于业务处理流程来说,主要是在controller里面实现。 controller是一个大的划分,更细的粒度是controller里面的action方法。经常在一个controller里面会有多个action方法,例如增删改查,对应于某一个功能小块。有时候有些业务逻辑是共用的,如果还是在controll...

    期权知识 2020-08-20 574 0
  • vim中快速移动光标

    vim中快速移动光标

    vim是本人默认编辑器,之前一直用它来编程,如今拓展到用来写tex文本或者说明文档,因为插件丰富,用起来非常爽。 写的东西多了,自然遇到了该如何高效的移动光标的问题。在编程的时候,一行的字符不多,几乎不会遇到行内定位的问题。但是诸如tex文件,或者一些说明文档,一个段落就是一行,这个时候就考验如何有效移动光标了。确切的说是怎么在一个非常长的行内迅速定位。 处于编辑模式的vim,除了编辑之外不能做其他的。想要高效移动光标,首先应该尽量处于vim命令模式,这样各种命令才有发挥的机会。 vim内置的移动快捷键如下...

    期权知识 2020-08-20 576 0