添加第三方源
由于ubuntu各个版本目前都没有官方的PHP7.0的源,所以我们只能自己添加第三方的源
sudo add-apt-repository ppa:ondrej/php
更新源,安装PHP
添加源之后,我们需要更新源。然后正式开始安装PHP7.0
sudo apt-get update
sudo apt-get install php7.0
最后安装常用扩展
目前该第三方源已经提供了大部分常用的PHP扩展。但是需要注意的是,目前该源中的PHP扩展,部分是部分是根据PHP7重写的,部分是兼容模式的
PHP...
Php, php-memcache, PHP7, php7-redis, php7-redis扩展, PHP7.0, phpredis, redis扩展阅读全文
public function getMinLimit () {
$sql = "...";
$result = yii::app()->db->createCommand($sql);
$query = $result->queryAll();
return array (
$query [0] ['max'],
);
}
$connection=Yii::app()->db;
$sql="SELECT u.account,i.* FROM sys_user as u left join user_info as i on u.id=i.user_id";
$rows=$connection->createCommand ($sql)->query();...
Php, yii1.1阅读全文
文章目录
1.尽量静态化:
2.echo的效率高于print,因为echo没有返回值,print返回一个整型;
3.在循环之前设置循环的最大次数,而非在在循环中;
4.销毁变量去释放内存,特别是大的数组;
5.避免使用像__get, __set, __autoload等魔术方法;
6.requiere_once()比较耗资源;
7.在includes和requires中使用绝对路径。
8.如果你需要得到脚本执行时的时间,$_SERVER['REQUSET_TIME']优于time();
9...
Php, PHP代码高效率之道, PHP高效率阅读全文
在Yii框架中,为了防止csrf攻击,封装了CSRF令牌验证。
只需要在主配置文件中进行简单的配置,就可以实现CSRF的验证,但是默认的开启是整站开启,当有时候需要某些地方不要经过拦截时我们就可以用如下方式,此说明只针对Yii1.0有效。
要实现此方法需要要重写CHttpRequest类。
1. 在框架的framework/global/extensions/http/ 目录下新建一个WFilterHttpRequest类 继承创建一个类,继承于CHttpRequest,里面加入代码如下
/**
*...
Php, Yii CSRF局部关闭拦截, yii1.1阅读全文
HTML
//页面Js代码
//
{{item.title}}
{{/each}}
// ]]>
JS代码
$('#previewPic').on('click', function () {
var YII_CSRF_TOKEN =$('#YII_CSRF_TOKEN').val();
$.post('index.php?r=shop/previewBanners', {YII_CSRF_TOKEN : YII_CSRF_TOKEN }, function(ret) {
if(ret.code == 200){
alert('发布成功!');
return false;
}
initData = ret.data;
var ht...
Javascritp, Php, swiper, 幻灯片, 首页轮播阅读全文
随着 JetBrains 新版本的发布,注册机已然不行了。
然而,道高一尺,魔高一丈。
IntelliJ IDEA开源社区 提供了如下通用激活方法:
注册时选择 License server,填 http://idea.qinxi1992.cn/ ,然后点击 OK,就搞定了。
注意 http://idea.qinxi1992.cn/ 务必加上最后的 /,否则激活失败
通用windows linux mac
这款IDE收费有点小贵,这里提供一下注册码(推荐正版)
IDEA 15
http://idea.qinxi1992.cn/
IDEA 14
http://i...
Php, Phpstorm阅读全文
CHttpException
无法解析请求 "error/system"。
yii此错误 请求400的解决办法
第一种解决办法是关闭Csrf
public function init(){
$this->enableCsrfValidation = false;
}
第二种解决办法是在form表单中加入隐藏域
<input name="_csrf" type="hidden" id="_csrf" value="<?php Yii::$app->request->csrfToken ?>">
第三种解决办法是在AJAX中加入_csrf字段
var csrfToken = $('meta[n...
Php, yii2阅读全文
在CI 3.0中有一个csrf(Cross Site Request Forgery) protection的功能
开启了csrf后 由于出于安全考虑 ci3中用ajax post 提交 必须要用到toke 令牌
如果这个扩展打开了的话
POST ajax提交就会报错 我用的nginx 报的403
The action you have requested is not allowed.
大意是
你所要求的行动是不允许的。
会无法执行
这时候要在表单传送的数值中加入一个token的值
才能正常使用表单功能
可以在application/config/config.php中...
ajax, CI, csrfci, Php, post报错阅读全文
推荐下面两个接口,写的两个小函数
推荐下面两个接口,写的两个小函数
新浪ip库接口,经测试速度快,稳定
// 根据IP查询用户地理位置,新浪API
function getCity($ip)
{
if(!empty($ip)){
$url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip;
$ip = json_decode(file_get_contents($url));
if ((string)$ip->ret == 0) {
return false;
...
ip地理位置API, Php阅读全文
简单的写了两个小函数来实现 数组转对象 对象转数组
/**
* @param array $arr 传人一个数组.
* @return object|void 返回一个对象.
*/
function arrayToObject($arr)
{
if (gettype($arr) != 'array') return;
foreach ($arr as $k => $v) {
if (gettype($v) == 'array' || getType($v) == 'object')
$arr[$k] = (object)arrayToObject($v);
}
return (object)$arr;
}
...
Php, 对象转数组阅读全文
1. 首先到phpmailer 在github托管的开源仓库下载最新的phpmailer 地址 https://github.com/PHPMailer/PHPMailer
2. 然后解压到yii项目目录下的 /protected/extensions/phpmailer 目录 将phpmailer 里面的 class.stmp.php 复制到 /protected/extensions/ 下改名为STMP.php 注意 下载下来的文件夹是大写的,在Linux和yii中是区分大小写的,改成小写的即可
3. 再新建文件 /protected/extensions/CPhpMailer.php,内容如下:
...
Php, Phpmailer阅读全文