天行健,君子以自强不息;
      地势坤,君子以厚德载物;

预览模式: 普通 | 列表

PHP 5.3新版特性浅析

  一、mysql驱动mysqlnd

  一直以来,php都是通过mysql客户端连接mysql,而现在mysql官方已经推出php版的mysql客户端,而这个mysqlnd有效降低内存的使用以及提高性能。具体可以看:

  http://dev.mysql.com/downloads/connector/php-mysqlnd/

  http://forge.mysql.com/wiki/PHP_MYSQLND
attachments/200912/3185075243.jpg

  从图中可以看出,使用mysqlnd少了从mysql驱动中复制数据到php扩展这一步。mysqlnd使用copy-on-write,也就是写时复制,读引用。

  mysqlnd已经内置在php

[阅读全文]

标签: PHP

mysqlnd成为php 5.3中的默认mysql驱动

mysqlnd成为php 5.3中的默认mysql驱动,它有如下优点:

  • mysqlnd更容易编译: 因为它是php源码树的一个组成部分
  • mysqlnd和php内部机制结合更紧密,是优化过的mysql驱动
  • mysqlnd更节省内存,从测试结果来看,比传统的mysql扩展节省40%的内存
  • mysqlnd更快
  • mysqlnd提供了丰富的性能统计功能
  • mysqlnd使用了PHP license以避免不必要的版权纠纷

这个改动应同时对mysql和pdo_mysql扩展生效。

mysqlnd是什么

mysqlndmysql原装的php驱动


参考文章:http://forge.mysql.com/wiki/PHP

[阅读全文]

PHP文件上传源码分析(RFC1867)

文件上传,一般分为俩种方式FTP和HTTP, 对于我们的互联网应用来说: FTP上传虽然传输稳定, 但是易用性和安全性都是个问题. 你总不至于在用户要上传头像的时候告诉用户”请打开FTP客户端,上传文件到http://www.laruence.com/uploads/中, 并以2dk433423l.jpg命名”吧?

而基于HTTP的上传,相对来说易用性和安全性上就比FTP要增强了很多. 可以应用的上传方式有PUT, WEBDAV, 和RFC1867三种, 本文将分析在PHP中,是如何基于RFC1867实现文件上传的.

RFC1867

RCF1867是Form-based Fi

[阅读全文]

标签: PHP

谈PHP 闭包特性在实际应用中的问题

原文链接: http://justafewlines.com/2009/10/whats-wrong-with-php-closures/

PHP5.3 新版本跟随了很多新特性, 其中比较惹眼的特性之一就是支持了闭包。那么以后,我们也可以和那帮写 Ruby、Javascript 等等“高科技语言”的家伙们一样,写出非常酷的代码吗?呃,其实大部分情况下是可以的,而有些方面还是令人非常的困扰,下面慢慢道来。

很多语言的都提供了非常优雅和漂亮的操作数组的方法。在下面的例子中,会使用 PHP5.3 以及其他语言提供的闭包功能,用于展示如何“客观的”操作迭代数

[阅读全文]

标签: PHP

Nginx配置PHP的一个关键注意点

Nginx以前也多多少少了解些,实战不多,今天抽空配置了一下,发现使用默认配置文档在php整合上有问题。经过仔细排查,终于解决问题。
环境:
   CentOS 5.2
   php-5.2.6 (通过lighttpd的spawn-fcgi启动)
   nginx-0.6.34

只有基本的安装配置,我就不多说了,网上的资料很多,下面重点说说和PHP的整合上。
原配置文档是:
        #location ~ \.php$ {
&n

[阅读全文]

标签: 原创 PHP Nginx