Yii2类的延迟加载

发布于:2017-4-15 17:40 作者:song100e 浏览:28 分类:YII2
在Yii中,所有类、接口、Traits都可以使用类的自动加载机制实现在调用前自动加载。Yii借助了PHP的类自动加载机制高效实现了类的定位、导入,这一机制兼容 PSR-4 的标准。在Yii中,类仅在调用时才会被加载,特别是核心类,其定位非常快,这也是Yii高效高性能的一个重要体现。
Yii的类自动加载,依赖于PHP的 spl_autoload_register() , 注册一个自己的自动加载函数(autoloader),并插入到自动加载函数栈的最前面,确保Yii的autoloader会被最先调用。

阅读全文>>

标签: autoload

0

MySQL 存储PHP session

发布于:2017-4-1 8:44 作者:song100e 浏览:55 分类:MySQL
本博客主要是参考自《深入理解PHP高级技巧、面向对象与核心技术》,希望能给到大家一个思路。
在默认的情况下,PHP会把全部的会话数据保存在服务器上的文本文件里面,这些文件通常都是保存在服务器上的临时目录里边。

那为什么我们要把session会话保存在数据库中呢?

    1,主要原因:提高系统的安全性。在共享服务器上,在没有进行特别的设置,所有的网站站点都会使用同一个临时目录,这意味着数十个程序都在同一个位置对文件进行读写操作。不仅速度下降了,而且别人也有可能窃取到我的站点的用户数据。

    2,把会话数据保存到数据库还可以更方便的搜索web站点会话的更多信息,我们可以查询活动会话的数量(同时在线的用户量),还可以对会话数据进行备份。

    3,假如我的站点同时运行于多个服务器,那么某个用户在一个会话过程中,可能会对不同的服务器发送多个请求,但是会话数据如果保存在某一个服务器上,那么其他服务器就不能使用到这些会话数据。假如我的某一台服务器仅仅是数据库的角色,那你把会话数据全保存在数据库中,不是很方便么?

阅读全文>>

标签: session

0

Apache启用SSL及ssi支持

发布于:2017-3-25 23:09 作者:song100e 浏览:59 分类:PHP
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
随着安全问题越来越重视,再加上浏览器的提醒,越来越多的WEB应用或接口采用https。

阅读全文>>

标签: HTTPS SSL SSI

0

JQuery Validate验证举例

发布于:2017-3-3 17:55 作者:song100e 浏览:96 分类:JavaScript
jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言。

阅读全文>>

标签: Validate

0

LNMP编译安装

发布于:2017-2-20 19:06 作者:song100e 浏览:118 分类:Linux
1, 添加当前用户到sudo列表(如果能使用sudo命令则跳过)
(1),使用 su - 切换到 root 账户
(2),"vim /etc/sudoers",进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名)
(3),chmod 440 /etc/sudoers (有可能会报540错误)
2, sudo useradd -s /sbin/nologin -M nginx  # 添加一个不能登录的且没有家目录 名为nginx的用户
3, 安装依赖关系:
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers make
yum -y install gd gd2 gd-devel gd2-devel

4, 关闭SELinux,允许防火墙访问80端口
# vi /etc/selinux/config
SELINUX=disabled   #* 若安装时没有禁用SELinux ,将enforcing改为disabled;修改后需重新启动Linux方可生效!

5, 安装依赖库
yum -y install gcc gcc-c++ autoconf automake
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel

zlib :nginx提供gzip模块,需要zlib库支持
openssl :nginx提供ssl功能
pcre :支持地址重写rewrite功能

5, 安装
sudo ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx-1.10.3/ --with-http_stub_status_module --with-http_ssl_module
sudo make && sudo make install 

6,添加软连接:
sudo ln -s /usr/local/nginx-1.10.3/ /usr/local/nginx

7,添加自启动 shell 脚本及服务
sudo vim /etc/init.d/nginx
sudo chkconfig --add nginx(服务)


编译安装PHP
1,依赖库:
yum -y install libxml2-devel openssl openssl-devel bzip2-devel libcurl libcurl-devel
yum -y install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel libjpeg-turbo-devel
yum -y install libmcrypt mysql-devel libmcrypt-devel(需先 yum update 更新源)

2,配置编译选项
./configure --prefix=/usr/local/php --enable-fpm  
--with-mcrypt=/usr/local/libmcrypt --with-zlib 
--enable-mbstring --with-openssl --with-mysql 
--with-mysqli --with-mysql-sock --with-gd --with-jpeg-dir=/usr/lib 
--enable-gd-native-ttf  --enable-pdo 
--with-gettext --with-curl --with-pdo-mysql 
--enable-sockets --enable-bcmath --enable-xml 
--with-bz2 --enable-zip --enable-freetype

3, 安装:
sudo make && sudo make install

4,
php-fpm:No pool defined解决方法:
进入PHP安装目录/etc/php-fpm.d
cp www.conf.default www.conf

安装Xcache:注意sudo
# wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz
# tar zxvf xcache-1.3.0.tar.gz
# cd xcache-1.3.0
# /usr/local/php/bin/phpize
# ./configure --enable-xcache 
# --enable-xcache-coverager 
# --enable-xcache-optimizer
# --with-php-config=/usr/local/php/bin/php-config
# make && make install





安装mysql 5.6 (RPM方式安装)
1,默认5.1, 这里安装5.6
sudo vim /etc/yum.repos.d/mysql-community.repo 
#Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=


2,安装 mysql-community-server
sudo yum install mysql-community-server

3,如果出现HEAD错误则运行这句后重试
rpm --import /etc/pki/rpm-gpg/RPM* 

4,启动mysql
sudo service mysqld restart

5, 设置密码:
/usr/bin/mysqladmin -u root password 'new-password'
6,用密码登录:
mysql -u root -p

7主要配置文件
(1)./etc/my.cnf 这是mysql的主配置文件
(2)./var/lib/mysql   mysql数据库的数据库文件存放位置
(3)./var/log mysql数据库的日志输出存放位置

安装phpMyadmin:
1,下载解压到 /usr/lcoal/phpmyadmin
2,创建配置文件:cp /usr/local/config.sample.inc.php  /usr/local/config.inc.php
3,#2002 – 服务器没有响应 (或者本地 MySQL 服务器的套接字没有正确配置)
修改 config.inc.php 中的 $cfg['Servers'][$i]['host'] = 'localhost'; 
改成 $cfg['Servers'][$i]['host'] = '127.0.0.1';


安装Xcache 
 1,wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz 
 2,tar zxvf xcache-1.3.0.tar.gz 
 3,cd xcache-1.3.0 (要先进入目录)
 4,/usr/local/php/bin/phpize (准备执行扩展)
 5, ./configure --enable-xcache  --enable-xcache-coverager
 --with-php-config=/usr/local/php/bin/php-config  --enable-xcache-optimizer 
 6, make && make install


标签: PHP nginx linux mysql

0

PHP使用PHPExcel基础转存程序

发布于:2016-12-20 14:02 作者:song100e 浏览:230 分类:PHP
最近在做一个短信提醒功能,由于配置文件错误导致没有正常发送短信,于是考虑从日志文件中,整理出未成功发送短信的记录,转交运营人员手动发送,于是做了一个基本的转存脚本,使用了php的文件读,以及PHPExcel库功能。

阅读全文>>

标签: PHPExcel

0

python 的 maximum recursion depth exceeded 报错

发布于:2016-10-18 15:22 作者:song100e 浏览:324 分类:Python
今天在做一个统计任务,由于数据量比加大,采取递归调用的方式分段读取数据,每天的定时任务执行时突然发现错误日志上来,前几天还好好的运行,上网查了一番才知道,发现python默认的递归深度是很有限的,大概是900多的样子,当递归深度超过这个值的时候,就会引发这样的一个异常。

阅读全文>>

标签: maximum

0

Nubia z5 mini小牛2通话(听筒)音量增大方法

发布于:2016-8-18 11:47 作者:song100e 浏览:436 分类:小记感悟
终于受不了打电话时听筒的那点蚊子音量,决定好好研究一下办法。因为小牛官方这奇葩的音频配置方案,在4.4下居然不是用mixer_paths来配置(猜想大概是为了配合那垃圾DTS),所以找了很久。最后结合好不容易找到的其他机型修改的几篇修改方案,加上自己的反复尝试,终于找到了方法。本人是社区里面看到了这种方法。

方法如下,不会设隐藏,也没兴趣隐藏,使用后觉得有帮助的朋友请帮忙顶一下,方便更多的朋友:
1、手机需ROOT(如果手机编辑,需要授予编辑软件ROOT权限,如 ES 文件浏览器)。
2、ES 文件浏览器找到(根目录)system\etc\snd_soc_msm文件夹下的snd_soc_msm_2x_Fusion3文件,编辑这个文件。
3、修改内容:查找到Name "Voice Earpiece"这一行,下拉,找到它下面的'RX1 Digital Volume':1:68(就我下载的UI2.0的所有官方ROM来看都是1:68,如果是其他ROM这个值可能不同,总之认准'RX1 Digital Volume' 就行),修改这个值。因为努比亚全系列的听筒质量良莠不齐(这也是有些朋友觉得音量还行,有些觉得很小,有些甚至觉得会破音的原因,猜测这也是官方一直不愿增大音量的原因,它一放包出来,肯定有人骂有人顶),所以这个修改是不确定的,找到你自己合适的值就行。我的机器我试过1:80,85,90,100,110,超过80就会有破音,但效果杠杠的。
4、替换手机原文件。重启搞定。

标签: Nubia

0

PHP中的traits

发布于:2016-7-2 9:56 作者:song100e 浏览:927 分类:PHP
traits 是从PHP 5.4中新引入的特性,中文翻译为性状(参考《Modern PHP》第二章性状一节)。
性状是类的部分实现(即常量、属性和方法)。
性状有两个作用:
1,表明类可以做什么(像是接口)。
2,提供模块化实现(像是类)。
主要是为了有的场合想用多继承,但PHP又没多继承。可以理解为一组能被不同的类都能调用到的方法集合。

阅读全文>>

标签: traits

0

jQuery中使用on方法绑定hover事件

发布于:2016-6-30 15:59 作者:song100e 浏览:546 分类:JavaScript
首先,哈哈你上当了!jQuery并不能绑定 hover 事件。

阅读全文>>

标签: hover jQuery

0

1 2 3 4 5 6