现在位置 >首页 > php
0℃
2014年11月19日 php ⁄ 被围观 1,673 view+
在php中又两个方法都是在请求快结束的时候执行。方法名分别是 register_shutdown_function和fastcgi_finish_request。虽然执行的时机差不多,但是功能和应用场景不一样。比较两个方法的区别不是本文的重点。本文的重点的说明两个方法的应用场景。 1.register_shutdown_function 功能: 注册一个方法,当一个请求request执行完毕时,调用这个注册的方法。注意,哪怕在执行过程中发生error导致本次请求被强制退出,注册的方法也会执行。 应用场景一: 可以利用他的特性,捕获一些错误的一些详细信息。示例代码如下:...
阅读全文
0℃
2014年09月11日 php ⁄ 被围观 1,560 view+
在关于不要重复造轮子的二三事一文中,交代了一些背景和想法。本篇则完全是一些干货,列举一些我用过或者即将会用的PHP轮子,基本都符合我对好轮子的定义:开源、许可证宽松、容易集成的PHP项目,目有些已经集成在EvaEngine里面,希望能帮助别人少走弯路。 日志还会陆续补充更新,同时欢迎推荐补充。 标记语言 PHP Markdown License : New BSD License Source Code Allo点评:Markdown在轻量级标记语言中已经俨然有一统天下的趋势,PHP Markdown应该是目前以PHP编写的最好的Markdown解析器。当然一般来说使用Mark...
阅读全文
0℃
2013年11月04日 php ⁄ 被围观 5,866 view+
mac在升级到mavericks后,php原本从5.2升级到5.4,如果你之前安装的php扩展将无法使用,接下来如何在重新安装php扩展呢? 第一步先打开xcode同意下协议 第二步在终端中运行xcode-select --install 第三步在终端下运行如下命令 brew update brew doctor //如果现出来错误就按照提示解决下 //直到出现Your system is ready to brew.如果你的brew已经准备好了,没有错误或者警告信息 brew install zlib 第四步编译安装php-memcache wget http://pecl.php.net/get/memcache-2.2.7.tgz tar zxvf memcache-2.2.7.tgz ...
阅读全文
0℃
2013年09月02日 php ⁄ 被围观 4,388 view+
写了一段很简单的代码示例,却发现运行起来速度很慢,出现性能问题的代码量并不大,排除了IO问题以后,写了一段测试代码,果然问题很快重现。 <?php $y="1800"; $x = array(); for($j=0;$j<2000;$j++){ $x[]= "{$j}"; } for($i=0;$i<30000;$i++){ if(in_array($y,$x)){ continue; } } ?> [root@xp trace]# time php test.php real 0m4.116s user 0m4.070s sys 0m0.028s 可以看出时间耗掉了4秒,下面用strace跟踪没拿到什么有效信息。 [root@xp trace]# ...
阅读全文
0℃
2013年07月31日 php ⁄ 被围观 3,954 view+
用于图片裁剪。有以下特点: 1.能进行人脸识别。图片中有人脸,将自动视为人脸区域为重要区域,将不会被裁剪掉。 2.自动识别其它重要区域。如果图片中未识别出人脸,则会根据特征分布计算出重区域。 总而言之,自动识别图片中的重要区域,并且在图片裁剪时保留重要区域。 目前已经用于一淘玩客 效果演示: 原图: 常规从中间截取为 400 * 225 大小大图片。效果如下: 使用tclip裁剪图片效果如下: 安装步骤 源码下载 opencv2 下载地址  http://www.opencv.org.cn/index.php/Download 安装opencv2 此扩展依赖于o...
阅读全文
0℃
2013年07月01日 php ⁄ 被围观 3,548 view+
request_terminate_timeout = 30 #表示等待30秒后,结束那些没有自动结束的php脚本,以释放占用的资源。 pm表示使用那种方式,就是static(静态)或者dynamic(动态)。在更老一些的版本中,dynamic被称作apache-like。 pm.max_children:静态方式下开启的php-fpm进程数量。 pm.start_servers:动态方式下的起始php-fpm进程数量。 pm.min_spare_servers:动态方式下的最小php-fpm进程数量。 pm.max_spare_servers:动态方式下的最大php-fpm进程数量。 如果dm设置为static,那么其实只有pm.max_children这个参...
阅读全文
0℃
2013年06月06日 php, secure ⁄ 被围观 4,354 view+
在php.ini中这样设置disable_functions =eval是无法禁用eval的,根据php手册说明,eval是一个语言构造器而不是一个函数。 如果要禁用eval,则需要第三方扩展,使用Suhosin。 Suhosin是朝鲜语“守护神”的音译,是一个专门的安全小组开发的专门针对php进行安全加固的补丁程 序,已经进入freebsd gentoo的ports系统。效果很好的。 Suhosin是php增强型安全补丁,可以编译到静态内核中,也可以编译成php动态扩展。我个人强烈你建议静态联编。下面的以下先说静态安装步骤。当然你也可以在安装php后将它编译成php的动态扩...
阅读全文
0℃
2013年01月31日 php ⁄ 被围观 4,269 view+
通过top发现php-fpm的进程很高,网站打开速度很慢,估计肯定某个PHP脚本执行时间过长,所以开启了php-fpm的slowlog来跟踪哪些php脚本执行过慢。 编辑php-fpm.conf文件 1.找到request_slowlog_timeout=0 这一行,默认值为0,表示不启用slowlog,将其值改为3s,表示跟踪执行时间达到或超过3s的脚本。 2.找到slowlog,它的值表示慢执行日志的路径。 修改完后重启php。日志内容: [31-Dec-2012 09:50:00] [pool www] pid 2874 script_filename = /htdocs/blog/index.php [0x0000000001cf4ff0] mysql_query() /htdocs/...
阅读全文
0℃
2012年12月28日 php ⁄ 被围观 5,776 view+
首先,我们需要达成以下一些共识: /dev/shm 为linux下的内存目录,显然在这个目录下建立的东西会放在内存中,默认可以使用50%的内存,在内存不足时,可通过swap进行切换到磁盘。 inotify是linux下的文件系统事件监控,可以满足各种文件监控需要,提供了诸如inotify_init,inotify_read等接口,需要linux2.6或以上的内核(uname -a查看),cygwin下好像不能实现。 php默认是不提供支持inotify的扩展,所以我们需要通过pecl下载编译安装。 下载inotify (http://pecl.php.net/package/inotify),解压并安装: tar...
阅读全文
0℃
2012年12月13日 php ⁄ 被围观 2,377 view+
$local_file = 'test.zip'; $download_file = 'download.zip'; $download_rate = 20.5;//速度 if(file_exists($local_file) && is_file($local_file)) { header('Cache-control: private'); header('Content-Type: application/octet-stream'); header('Content-Length: '.filesize($local_file)); header('Content-Disposition: filename='.$download_file); flush(); $file = fopen($local_file, "r"); while (!feof($file)) { ...
阅读全文
×
腾讯微博