魏长东

weichangdong

正在查看: 2016年06月日志归档(第 1 页 / 共 8 篇)

php多进程code

看到一个大神写的php多进程的代码,自己稍作修改,放着以后备用。

插播一个nginx的配置,之前一直以为nginx不能直接返回状态码,需要借助lua来实现呢,原来nginx本身也是可以滴。

server {
    listen 81;
    server_name 127.0.0.1;
    access_log off;
    add_header Content-Type "application/json;charset=utf-8";
    return 200 '{"retcode":0}';
}

»»阅读全文

linux history命令高级用法

之前一直想实现,history记录历史命令的时候,带上时间和操作人,原来很easy就可以实现。

export HISTTIMEFORMAT="%F %T `whoami` "

php捕捉错误,不让程序断掉

有时候遇到代码有一些异常,但是不想他退出执行,就用try catch的形式来捕捉。

 

今天高考,送个祝福

gaokao-11.jpg

<?php
function inverse($x) {
    if (!$x) {
        throw new Exception('Division by zero'.PHP_EOL);
    }
    return 1/$x;
}

set_exception_handler('exception_handler');
try {
    echo inverse(5) . "\n";
    echo inverse(0) . "\n";
    echo inverse(4) . "\n";
} catch(\Exception $e){
	echo  $e->getMessage();
}
function exception_handler($e)
{
	echo  'wcd=='.$e->getMessage();
}

for ($i=-3;$i<10;$i++){
	try {
		echo  inverse($i)."\n";
	} catch (\Exception $e) {
		 echo  $e->getMessage()."\n";	
		continue;
	}
}
// Continue execution
//echo inverse(0) . "\n"; 如果加上这句 就走set_exception_handler 指定的捕捉机制了 就会断掉 就不会输出最后的 hell world
echo "Hello World\n";
?>

html 的select操作

html的select 的 onchange="selectAccoutId($(this).val())"
<script type="text/javascript">
function  selectAccoutId(id)
{
    //alert(id);
    var name=$("#account_id_list").find("option:selected").text();
    window.location= '/?act=Menu.mainRule&account_id='+id+'&account_name='+name;
    
}
</script>

»»阅读全文

nginx 代理proxy_pass

upstream wcd {
    server  127.0.0.1:8080;
		    keepalive  15;
}
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    location ~ wcd.html$ {
		#return 200 'wcd';
        proxy_pass   http://wcd;
		proxy_connect_timeout   1;
		proxy_set_header  Connection  "Keep-Alive";
		proxy_set_header  Proxy-Connection  "Keep-Alive";
		proxy_redirect  on;
    }
}

»»阅读全文

lua api

本来这个功能使用php实现了,但是想尝试下lua,暂时在win测试的,因为md5的原因,就终止了。代码先放上来,以后有时间在改。

location ~ /api {
		content_by_lua_file html/lua.lua;
}
curl的时候 一定用双引号 开始用单引号 折腾了半天 奶奶的。
curl  -d "{\"news\":{\"id\":\"175e45e26c5d10a78dd42e613ba74c57\",\"title\":\"Put a ring on it: 
Mariko Mori to hang symbol of unity above Rio waterfall ahead of OlympicGames\",\"timestamp\":\"\",
\"news_entry_id\":\"5f89783e\",\"category\":\"others\",
\"url\":\"http://theartnewspaper.com/news/news/put-a-ring-on-it-mariko-mori-to-hang-symbol-
of-unity-above-rio-waterfall-ahead-of-olympic-games/\"},
\"from\":{\"avatar\":\"http://pbs.twimg.com/profile_images/633675712319242240/9Vri2Jh7_bigger.jpg\",
\"screen_name\":\"TheArtNewspaper\",\"openid\":\"38681183\"},
\"to\":[\"cd21b5bac2317d41c32ae2713836b2824455bafc\"],
\"time\":146414554125,\"key\":\"754942a90ecd1227a2ace4c32c7d36af11\"}"  http://localhost/api

»»阅读全文

bootstrap ajax弹窗

直接调用模态对话框

<div id="myModal" class="modal hide fade">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">x</button>
        <h3>对话框标题</h3>
    </div>
    <div class="modal-body">
        <p>对话框主体</p>
    </div>
    <div class="modal-footer">
        <a href="#" class="btn" data-dismiss="modal">取消</a>
        <a href="#" class="btn btn-primary" data-dismiss="modal">确定</a>
    </div>
</div>

<button type="button" data-toggle="modal" data-target="#myModal">打开对话框</button>
<a href="#myModal" role="button" class="btn" data-toggle="modal">打开对话框</button>

»»阅读全文

php osa系统日期大于或小于查询

其实也不算是优化,就是做了点小小的修改。原有的mysql操作类文件 Medoo.class.php,不支持这种情景

当你的数据表的字段是date类型的(当然现在基本把时间都存成int型了,我存成date类型是有特殊用途),你查询的时候没法大于或者小于某一个日期,但是大于小于同时用没问题。就是下面的代码,当开始或者结束时间一个为空,是没法实现预期目的的。

public static function getCountByInfo($push_start_time='',$push_end_time='',$category='')
        {
                $condition = [];
                $sub_condition = array();
                if ($push_start_time && !$push_end_time) {
                        $sub_condition["push_time[>=]"] = $push_start_time;
                } elseif (!$push_start_time && $push_end_time) {
                        $sub_condition["push_time[<=]"] = $push_end_time;
                } elseif ($push_start_time && $push_end_time){
                        $sub_condition["push_time[<>]"] =array($push_start_time,$push_end_time);
                }
                if ($category) {
                        $sub_condition['category'] = $category;
            }

                if(empty($sub_condition)){
                        $condition = [];
                }else{
                        $condition["AND"] = $sub_condition;
                }
                $db=self::__instance();
                $count = $db->count(self::getTableName(), $condition);
                return $count;
        }

»»阅读全文