加载中

支持polarphp, 支持泼辣PHP

https://www.oschina.net/p/polarphp

@xplanet
“中国开源软件评选”是开源中国一年一度的线上评选盛事,也是目前国内最权威的开源软件榜单。活动面向国内所有的开发者和...
菜到没谱 2013/10/11 11:41 评论了博客:php函数的实现原理及性能分析
PHP扩展示例:
http://blog.csdn.net/xudong316/article/details/8839327

PHP的运行原理
http://blog.csdn.net/xudong316/article/details/5737687
@菜到没谱
前言 在任何语言中,函数都是最基本的技术单元之一。对于php的函数,它具有哪些特点?函数调用是怎么实现?php函数...
菜到没谱 2013/10/11 11:30 评论了博客:php函数的实现原理及性能分析
改变图片地址即可实现图片自动缩略

一般的资讯站图片自然少不了,但一张图片在网站各个位置中展现的尺寸是不一样的,一般的方法是后台在上传图片过程中生成想要的尺寸,但一旦有新的需求,又需要去改动程序,比较麻烦,结合之前社区自动生成用户头像的方法,我又利用 了 nginx的fastcgi_cache
大致的nginx 配置如下(fastcgi_cache 可网上搜如何使用及如何配置):
fastcgi_cache_path /tmp/fcgi_cache levels=1:2
keys_zone=NAME:10m
inactive=5m max_size=10g;

location ~ "^/(.+)_[0-9]{1,3}x[0-9]{1,3}.(gif|jpg|jpeg|png|bmp)$" {
expires 7d;
fastcgi_pass 127.0.0.1:9000;
fastcgi_cache NAME;
fastcgi_param SCRIPT_FILENAME /var/www/html/demo/resize.php;#路径
include fastcgi_params;
fastcgi_cache_valid 200 7d;
fastcgi_cache_valid 301 302 1m;
fastcgi_cache_valid any 1m;
fastcgi_cache_use_stale error timeout invalid_header http_500;
fastcgi_cache_key $host$request_uri;
}
首先配置cache路径及生成的规则,然后把做rewrite跳转到指到程序进行处理,在resize.php中就是对图片进行缩略,然后缓存数据,之后同样的地址请求过来时就会直接请求缓存数据了
eg:http://img.paopao.com/allimg/130226/1526291442-0.jpg
改成 http://img.paopao.com/allimg/130226/1526291442-0_100x100.jpg 就可以直接生成100x100的缩略图了,改变高宽值就可以随意生成想到的图片尺寸了。

注意处理图片程序得加下面几句(浏览器缓存):
$time=time();
$interval=3600*12*7;
header('Last-Modified: '.gmdate('r',$time));
header('Expires: '.gmdate('r',($time+$interval)));
header('Cache-Control: max-age='.$interval);
@菜到没谱
前言 在任何语言中,函数都是最基本的技术单元之一。对于php的函数,它具有哪些特点?函数调用是怎么实现?php函数...
菜到没谱 2013/10/11 11:30 评论了博客:php函数的实现原理及性能分析
apache的mod_deflate模块可提高网页的浏览速度
@菜到没谱
前言 在任何语言中,函数都是最基本的技术单元之一。对于php的函数,它具有哪些特点?函数调用是怎么实现?php函数...
菜到没谱 2013/09/03 11:11 发布了新博客:
菜到没谱 2013/08/26 05:29 评论了新闻:Bootstrap 3.0 正式版发布
叫计算机管理通过组策略下发,
这句话不是很懂,请教下撒~
@limichange
今天是Bootstrap发布两周年的纪念日,在此我们推出了Bootstrap3.0。这可以说是一个长途旅行并且我们...
菜到没谱 2013/07/17 17:25 回答了问题: linux下php多线程的妙用(转)
使用PHP提供的POSIX和Pcntl系列函数, 来实现一个PHP命令解析器, 主进程负责接受用户输入, 然后fork子进程执行, 并负责回显子进程的结束状态.
#!/bin/env php
<?php
/** A example denoted muti-process application in php
 *@filenamefork.php
 *@touchdate Wed 10 Jun 2009 10:25:51 PM CST
 *@authorLaruence<laruence@baidu.com>
 *@licensehttp://www.zend.com/license/3_0.txt   PHP License 3.0
 *@version1.0.0
*/
 
/** 确保这个函数只能运行在SHELL中 */
if(substr(php_sapi_name(),0,3)!=='cli'){
    die("This Programe can only be run in CLI mode");
}
 
/**  关闭最大执行时间限制, 在CLI模式下, 这个语句其实不必要 */
set_time_limit(0);
 
$pid  =posix_getpid();//取得主进程ID
$user=posix_getlogin();//取得用户名
 
echo<<<EOD
USAGE: [command | expression]
input php code to execute by fork a new process
input quit to exit
 
        Shell Executor version 1.0.0 by laruence
EOD;
 
while(true){
 
        $prompt="\n{$user}$";
        $input  =readline($prompt);
 
        readline_add_history($input);
        if($input=='quit'){
            break;
        }
        process_execute($input.';');
}
 
exit(0);
 
functionprocess_execute($input){
        $pid=pcntl_fork();//创建子进程
        if($pid==0){//子进程
                $pid=posix_getpid();
                echo"* Process{$pid}was created, and Executed:\n\n";
                eval($input);//解析命令
                exit;
        }else{//主进程
                $pid=pcntl_wait($status,WUNTRACED);//取得子进程结束状态
                if(pcntl_wifexited($status)){
                        echo"\n\n* Sub process:{$return['pid']} exited with {$status}";
                }
        }
}
优点:
    1. 使用多进程, 子进程结束以后, 内核会负责回收资源
    2. 使用多进程,子进程异常退出不会导致整个进程Thread退出. 父进程还有机会重建流程.
    3. 一个常驻主进程, 只负责任务分发, 逻辑更清楚.
@菜到没谱
开 始用php写后台服务一段时间了.也是在这样的驱动下,不断的学习php语法,体验这一原来一直以为神秘且敬而远之的...
菜到没谱 2013/07/11 11:39 发布了新博客:
菜到没谱 2013/04/04 21:35 回答了问题: mysql中innodb的主要优化

innodb存储引擎的共享表空间转换成独立表空间。

mysql> show variables like '%per_table%';  

如果是OFF,肯定不是独立表空间。如果是ON的话,也不一定是独立表空间。最直接的方法就是查看硬盘上的文件,独立表空间,每个表都对应了一个空间。
1. 停掉mysql:  /etc/init.d/mysqld stop  
2. 改my.cnf的配置文件: innodb-file-per-table=1
3. 备份使用innodb引擎的数据库:  mysqldump -u tg -p tg >/home/6fan/tg.sql;  
4. 删除使用innodb的数据库,以及日志文件 。如果不删除使用innodb的数据库文件夹,启动不了innodb引擎。
5. 启动mysql : /etc/init.d/mysqld start 
6. 导入数据库: mysql -u root -p  < /home/6fan/tg.sql 


@菜到没谱
init_connect='SET autocommit=0' //关闭自动提交,这个对于innodb来说,很重要...
菜到没谱 2013/04/04 20:19 回答了问题: mysql中innodb的主要优化

mysql event是mysql的事件调度器,可以定时执行。有点像linux下的crontab,不过mysql event可以精确到秒。
mysql> show variables like "event%";
mysql> SET GLOBAL event_scheduler = 1; 或在my.cnf中[mysqld]加上event_scheduler=1,保存重起mysql。

@菜到没谱
init_connect='SET autocommit=0' //关闭自动提交,这个对于innodb来说,很重要...
菜到没谱 2013/04/04 19:40 回答了问题: mysql中innodb的主要优化
好吧,你赢了
@菜到没谱
init_connect='SET autocommit=0' //关闭自动提交,这个对于innodb来说,很重要...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部