首页 PHP专区
  • 【1】概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM

    blogdaren 2015-02-25   1369次来访
    CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。 CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。 FastCGI FastCGI像是一个常驻(long-liv...
  • 【2】【原创】Notice: ob_end_clean(): failed to delete buffer. No buffer to delete...解决方法

    blogdaren 2015-01-29   1536次来访
    问题背景: PHP报错:Notice: ob_end_clean(): failed to delete buffer. No buffer to delete... 问题原因: 调用ob_end_clean()函数之前已经有类似print或echo之类的打印语句输出东西了,因为没有ob_start(),所以报告No buffer to delete 解决方案:&n...
  • 【3】【原创】解决PHP报错:Strict Standards: Redefining already defined constructor for class DBO in /path/to/xxx.php

    blogdaren 2015-01-25   1511次来访
    问题背景: 在调试数据库类DBO.class.php的时候,出现报错: Strict Standards: Redefining already defined constructor for class DBO in /path/to/db/DBO.class.php on line 63 问题原因: 对于PHP类有两种构造函数,一种是PHP4之前版本采用的跟...
  • 【4】PHP直接在共享内存中存储数据集

    blogdaren 2015-01-25   1790次来访
    共享内存概述 共享内存是一种在相同机器中的应用程序之间交换数据的有效方式。一个进程可创建一个可供其他进程访问的内存段,只要它分配了正确的权限。每个内存段拥有一个惟一的 ID(称为 shmid),这个 ID 指向一个物理内存区域,其他进程可操作该区域。创建并提供了合适的权限之后,同一台机器中的其他进程就可以操作这些内存段:读取、写入和删除。 这表明使用 C 语言编写的应用程序可与使用其他语言...
  • 【5】判断文件存在用is_file还是file_exists?

    blogdaren 2015-01-25   1720次来访
    问题背景: 在写程序时发现在判断文件是否存在时,有两种写法,有的人用了is_file,有的人用了file_exists,用哪个更好或者说更合适呢? 问题验证: 事实上:PHP的 file_exists = is_dir + is_file 写程序验证一下:分别执行1000次,记录所需时间。 实验结果: 文件存在(当前目录) is_file:0.457...
  • 【6】PHP分布式抓取框架模型

    blogdaren 2015-01-23   1305次来访
    1、守护主进程:负责向集群注册节点,并初始化和管理子进程 2、检查子进程:负责检查系统是否正常运行,并与集群进行心跳检测,故障转移,主从自荐 3、计划子程序:当本节点为主的时候,则启动负责调度计划任务 4、处理子程序:负责监听并执行任务进行任务处理
  • 【7】【原创】smarty中如何使用 in_array 函数?

    blogdaren 2015-01-22   1100次来访
    方法一: <{ if $price | in_array:$selected_array }> 方法二: <{ if in_array($price, $selected_array) }>
  • 【8】【原创】解决XML报错: The processing instruction target matching "[xX][mM][lL]" is not allowed

    blogdaren 2015-01-22   1540次来访
    问题背景: ERROR  - Error on line 2 of document  : The processing instruction target matching "[xX][mM][lL]" ...
  • 【9】【原创】swfupload 上传报 security error # 2049 (security) 安全错误问题

    blogdaren 2015-01-20   1554次来访
    官方文档:   http://demo.swfupload.org/Documentation/ 官网给出了理由: 老外给出类似理由:   大致是说这个是flash播放器自身组件安全策略问题, 禁止跨域上传的. I believe this is due to the Flash Player's "same origin" po...
  • 【10】【原创】PHP 正则表达式中匹配所有的换行符【OK】

    blogdaren 2015-01-20   1325次来访
    金牛座亲测如下这个方法好用: <?php //匹配任意多个换行符 $pattern = "/[\s\S]*/is";
  • 【11】Bigpipe:一种新的页面加载技术

    blogdaren 2015-01-19   1106次来访
    BigPipe是一个重新设计的基础动态网页服务体系,也是一种新的页面加载技术。大体思路是,分解网页成叫做Pagelets的小块,然后通过Web服务器和浏览器建立管道并管理他们在不同阶段的运行。这是类似于大多数现代微处理器的流水线执行过程:多重指令管线通过不同的处理器执行单元,以达到性能的最佳。虽然 BigPipe是对现有的服务网络基础过程的重新设计,但它却不需要改变现有的网络浏览器或服务器,...
  • 【12】smarty 获取当前日期时间和格式化日期时间

    blogdaren 2015-01-19   1599次来访
    1.$smarty.now可以返回当前时间戳 2.date_format可以用来格式化时间,用法如下 {$smarty.now|date_format:"%Y-%m-%d"} 在Smarty 中获取当前日期时间和格式化日期时间与PHP中有些不同的地方,下面详细介绍: 首先是获取当前的日期时间: 在PHP中我们会使用date函数来获取当前的时间,实例代码如下: date("Y...
  • 【13】详解 pcntl_fork() 工作原理

    blogdaren 2015-01-19   3561次来访
    首先给大家推荐一本好书名为:<<UNIX环境高级编程>> , 里面详细讲解了进程控制的相关内容。 ------------------------------------------------------------- <?php $pid = pcntl_fork(); if ($pid == -1) { die("could not fork...
  • 【14】【原创】PHP如何取得毫秒级的系统时间?

    blogdaren 2015-01-19   3636次来访
    关键是使用 microtime() 函数 <?php $now = date("Y-m-d H:i:s") . " " . floor(microtime() * 1000); echo $now; //2011-11-26 11:44:51 322 (精确到毫秒) <?php $now = date("Y-m-d H:i:s") . " " . floor(microti...
  • 【15】【原创】分享一个PHP脚本异步执行技巧

    blogdaren 2015-01-18   1249次来访
    第一步:首先新建一个 /path/to/a.php 文件, 内容如下: <?php sleep(10); echo "进程挂起休眠10后才会执行输出本行......" . PHP_EOL; 第二步:然后新建一个 /path/to/b.php 文件,内容如下: <?php $cmd= "php -q /path/to/a.php >> /tmp/test.lo...