php的异步http请求解决方案

Posted on 2014-09-02 20:41:14 | 0 comments | 2762℃ | PHP

前戏

如果想用php实现一个http异步请求,是否能做到呢?

正题

答案是肯定的,以下是的socket解决方案:


function makeRequestAsync($url, $params = array(), $type='POST')
{
    $query_string = '';
    if(is_array($params) && !empty($params))
        $query_string = http_build_query($params);
    elseif(is_string($params))
        $query_string = $params;

    $type = s...

bootstrap插件bootbox参数和自定义弹出框宽度设置

Posted on 2014-08-31 15:52:56 | 10 comments | 16133℃ | Javascript

关于bootbox

插件官方地址:http://bootboxjs.com/

参数说明

以下是翻译的常用参数和方法使用说明:

alert

bootbox.alert("Hello world!", function() {});

dialog


bootbox.dialog({
  // dialog的内容
  message: "I am a custom dialog",

  // dialog的标题
  title: "Custom title",

  // 退出dialog时的回调函数,包括用户使用ESC键及点击关闭
  onEscape: function() {},

  // 是否显示此dialog...

php5.5新特性之yield性能测试

Posted on 2014-08-18 20:09:49 | 0 comments | 2993℃ | PHP

前言

最近工作有点忙,好不容易抽空更下博客。

yield是php5.5新出来的一个关键字,它可以让你无需将一个生成的数组赋值后操作,而是仅返回一个数组元素并将指针next,这样可以很大程度上节省你的内存。

性能测试

那么yield的性能到底如何呢?由于项目中有用到这个关键字,所以这里测试了一下,测试环境apache+php5.5.12,本机windows环境。

先来看普通的方法:

普通模式


// 需要测试的核心函数
function test()
{
    $array = array();
    for($i = 0; $i < 10000; $i++){
        $array[] = 'item_' . $i...

mysql大数据测试-批量生成测试数据

Posted on 2014-08-08 10:21:39 | 2 comments | 4577℃ | Mysql

前言

如果你想在一个项目的研发阶段测试一个mysql表的分区和索引是否合理,但又没有生产环境中的数据进行测试怎么办呢?最近遇到了这个问题,这个时候可以手动生成一些数据来测试。

当然,你可以写个php程序用while去循环插入mysql,但这种方式效率不是很高,们还有更好的办法,那就是mysql的存储过程。

存储过程

下面是的一个生成测试数据的一个mysql函数,适当进行修改,可以用在任意表结构中:


delimiter $$
create procedure insert_test(in counter integer, in time_stamp integer)
  begin
    while...

ueditor默认图片上传目录问题

Posted on 2014-08-05 12:45:44 | 0 comments | 3450℃ | PHP

前言

ueditor默认图片上传目录是根目录的/ueditor/php/upload/,有一个不好的地方就是,如果你的站点在子目录里面,并且是做了rewrite的那就有点坑了,会出现图片上传成功,但前端无法显示图片的情况,原因就是路径问题。

例如,的本地环境,站点目录是/hisune.com/public/这个,但做了rewrite,通过http://127.0.0.1访问的是http://127.0.0.1/hisune.com/public/这个目录。

这个时候ueditor会上传文件到/而不是/hisune.com/public/,而后端返回给前端的url也为根目录/,rewrite会将根目录/的请求重定向到/hisune.com/public/,实际上这个目录没有这个上传的图片,这样就导致前端页面无法显示。这里[我]...

PhpStorm7.1.3 + xDebug开启断点调试

Posted on 2014-08-04 16:39:16 | 0 comments | 2780℃ | PHP

前言

网上的phpstorm+xdebug断点调试教程都已经比较老了,phpstorm还是2.0的版本,这里介绍一下最新版的phpstorm7.1.3的断点调试教程。

检查xdebug扩展

配置phpstorm之前先确保已经安装好了xdebug扩展,并且在php.ini里面配置好了:


xdebug.remote_enable = on
```bash

## 配置phpstorm
接下来看phpstorm的配置,以下配置为最小化配置,和最简单的调试方法,很多默认参数可自行设置:

1. File -> Settings -> PHP -> Servers 点+号 新增一个server,填写右侧的host,[我](https://hisune.com)这里本机填写127.0.0.1
2. R...

自用基于jquery的返回顶部js一枚

Posted on 2014-08-01 19:51:22 | 0 comments | 2940℃ | Javascript

前言

虽然返回顶部代码已经烂大街了,但这里还是分享一下很久以前自己写的返回顶部js,样式可自己具体调整。

上代码


<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script>
$(window).load(function(){
    //点击返回顶部
    function topBack(){
        var sh = $(window).scrollTop();
        if(sh>100){
            $("#top-back").show();
        }else{
            $("#top-back").hide();...

js实现在新窗口中打开带post数据的url

Posted on 2014-07-25 17:10:23 | 2 comments | 5189℃ | Javascript

前言

们知道,打开一个新窗口,是只能带get参数的,如果想带post参数该怎么办呢?这个时候只要新建一个窗口,插入一个post表单即可 。

上代码

参考了网上的一个js函数,修改了一下,让其支持多个参数post,并且支持string参数和json关联数组,现将代码分享出来。

test.html


<a onclick="openWindowWithPost('http://127.0.0.1/test.php', 'a=b&c=d&x[]=o&x[]=oo')">test string</a>
<br/>
<a onclick="openWindowWithPost('http://127.0.0.1/test.php', {'name':...

php opcache安装配置和性能测试

Posted on 2014-07-24 12:36:54 | 1 comments | 3805℃ | PHP

关于opcache

php5.5.14,lnmp安装opcache。虽然php5.5默认集成了opcache,但编译时仍需使用 --enable-opcache 选项来开启OPcache。

行动

本次使用upgrade_php.sh进行php更新。

  1. 由于之前已经将lnmp的php版本升级到了5.5.14,故先将版本检查注释掉:
    
    #       if [ "$php_version" == "$old_php_version" ]; then
    #               echo "Error: The upgrade PHP Version is the same as the old Version!!"
    #               exit 1
    #       fi
    ``...

SyntaxHighlighter美化与火狐中的bug解决

Posted on 2014-07-22 15:35:53 | 0 comments | 2884℃ | Javascript

关于syntaxhighlighter

syntaxhighlighter是一个代码高亮js插件,国内cdn:

http://libs.useso.com/js.php?path=SyntaxHighlighter

项目地址:http://alexgorbatchev.com/SyntaxHighlighter/

ueditor是支持该插件的,官方最新版是3.0.83,不过还存在一些bug,主要是Firefox里面的bug,一直用chrome没发现,今天打开Firefox才发现这些bug。

BUGS

BUG1

垂直滚动栏会一直在火狐中显示,解决办法:


.syntaxhighlighter { /* hidden vertical scroll in firefox by h...
UP