“程序积累“
php内存管理之引用计数
<?php $a = 'Hello World'; $b = $a; unset($a); ?> 第一条语句执行后,PHP创建了$a这个变量,并为它申请了12B的内存来存放"hello world"这个字符串. 紧接着把$a赋给了$b,并释放掉$a; PHP变量的名称和值在内核中是保存在两个不同的地方的,值是通过一个与名字毫无关系的zval结构来保存,而这个变量的名字a则保存在符号表里,两者之间通过指针联系着. 现在我们检查$a和$b两个变量,他们的值指向了"hello world"这个字符串在内存中的...
php获取网页头部信息相关
php获取网页头部信息相关 php设置头部 <?php header("HTTP/1.0 404 Not Found"); //header("HTTP/1.0 204 No Response"); ?> php通过内置函数获取头部信息 <?php //$header = get_headers('http://xingdong365.com'); $header = get_headers('http://xingdong365.com',1);//会解析相应的信息并设定数组的键名 echo "<pr...
关于HTTP Keep-Alive
在http早期,每个http请求都要求打开一个tcp socket连接,并且使用一次之后就断开这个tcp连接。 使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会断开连接。通过使用keep-alive机制,可以减少tcp连接建立次数,也意味着可以减少TIME_WAIT状态连接,以此提高性能和提高httpd服务器的吞吐率(更少的tcp连接意味着更少的系统内核调用,socket的accept()和close()调用)。 但是,keep-alive并不是免费的午餐,长时间的tcp连接容易导致系统资源无效占用。配置不当的ke...
php curl并发测试
test.php <?php function multiCurl($res, $options=""){ if(count($res)<=0) return False; $handles = array(); if(!$options) // add default options $options = array( CURLOPT_HEADER=>0, CURLOPT_RETURNTRANSFER=>1, CURL...
php curl函数设置毫秒级超时时间
$ch = curl_init($url);//设置需要获取的URL地址,或者$ch=curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_NOSIGNAL, true); //注意,毫秒超时一定要设置这个 curl_setopt($ch, CURLOPT_TIMEOUT_MS, 100...
smarty模板配置参数
<?php //引入Smarty模板类 require_once("../Smarty/libs/Smarty.class.php"); //实例化Smarty类对象 $smarty=new Smarty; //是否使用缓存,项目调试期间,不建议启用缓存 $smarty->caching=false; //缓存生命周期 $smarty->cache_lifetime=120; //设置配置目录 $smarty->setConfigDir("../configs"); //设置模板目录 //$smarty-&...
初识php7
初识php7 php7 新特性 变量类型 php7版本函数的参数和返回值增加了类型限定。 加入类型,实际上是为了php7.1版本的JIT特性做准备,增加类型后的php JIT可以正确判断变量类型,生成最佳的机器指令。 JIT:是just in time,即时编译技术,表示运行时将指令转化为二进制机器码。 对于计算机密集型的程序,JIT可以将PHP的OpCode直接转换为机器码,大幅度提升性能,将在php7.1版本带有此特性 function test(int $a,string $b,array $c):int{ //code } 错误异常 php程序出...
php驼峰字符串转换成下划线样式
<?php $str = 'OpenAPI'; //方法1 // $length = mbstrlen($str); // $new = ''; // for($i = 0; $i < $length; $i++) // { // $num = ord($str[$i]); // $pre = ord($str[$i - 1]); // $new .= ($i != 0 && ($num >= 65 && $num <= 90) && ($pre >= ...
php实现数字转为汉字金额(转)
<?php header("Content-type:text/html;charset=utf-8"); /** 数字转换为中文 @param string|integer|float $num 目标数字 @param integer $mode 模式[true:金额(默认),false:普通数字表示] @param boolean $sim 使用小写(默认) @return string */ function number2chinese($num,$mode= true,$sim= true){ if(!i...
windows下php安装扩展pthreads实现php多线程
一、下载pthreads扩展 下载地址:http://windows.php.net/downloads/pecl/releases/pthreads 我下载的是php_pthreads-2.0.9-5.5-ts-vc11-x64.zip //5.5对应的是php版本,64位是系统位数 二、安装pthreads扩展 复制php_pthreads.dll 到目录 bin\php\ext\ 下面。(D:\wamp\bin\php\php5.5.12\ext) 复制pthreadVC2.dll 到目录 bin\php\ 下面。(D:\wamp\bin\php\...