php5.5集成Zend Opcache扩展

发表时间:2014-12-30     分类:PHP    标签: php eaccelerator opcache apc xcache 

大家知道目前PHP的缓存插件一般有三个:APC、eAccelerator、XCache。PHP 5.5已经集成Zend Opcache,功能和前三者相似但又有少许不同,缓存速度据说比它们更快(注意:只是据说,我没测试过)。这几个PHP加速插件的主要原理都相同,就是把PHP执行后的数据缓冲到内存中从而避免重复的编译过程,能够直接使用缓冲区已编译的代码从而提高速度,降低服务器负载,它们的效率是显而易见的,像drupal这种庞大的CMS,每次打开一个页面要调用数十个PHP文件,执行数万行代码,效率可想而知,在安装APC等加速器后打开页面的速度明显加快。Zend Opcache 已经集成在了PHP 5.5里面,编译安装PHP5.5的时候加上--enable-opcache就行了。但也支持低版本的 PHP 5.2.*, 5.3.*, 5.4.*,未来会取消对5.2的支持,下面是我在PHP 5.4下的......

阅读全文»

IIS7.5 PHP环境搭建

发表时间:2014-12-19     分类:PHP    标签: php iis 

工作需要在windows server 2008 服务器上,安装php环境。由于一直使用linux服务器,对windows服务器并不熟悉,所以此文备注下。以IIS7.0版本介绍。因为IIS7.0后,内置了fastcgi,并不再用安装。php配置有几种:1、CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使用较少。 特点是:稳定,但效率太低。2、ISAPI方式加载PHP环境,通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广。 特点是:多线程,效率较高,但不够稳定。3、FastCGI方式加载PHP环境,在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了。 特点是:高效率,高稳定性,属于将来发展趋势。FastCGI大大加强了IIS处理PHP的能力,能迅速提高PHP站点的反应速度和生......

阅读全文»

php性能调试xhprof xdebug

发表时间:2014-12-01     分类:PHP    标签: php xhprof xdebug 

    最近要把php的性能调试下。找出效率低效的代码改善。     成熟的开源代码有两方案:     1,Xdebug     Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。               2,XHProf     XHProf是一个分层PHP性能分析工具。它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使......

阅读全文»

php-fpm环境下,使用fastcgi_finish_request提高页面响应速度

发表时间:2014-06-20     分类:PHP    标签: php fastcgi_finish_request 

当PHP运行在FastCGI模式时,PHP FPM提供了一个名为fastcgi_finish_request的方法.按照文档上的说法,此方法可以提高请求的处理速度,如果有些处理可以在页面生成完后再进行,就可以使用这个方法.听起来可能有些茫然,我们通过几个例子来说明一下:<?php echo '例子:'; fastcgi_finish_request(); /* 响应完成, 关闭连接 */ /* 记录日志 */ file_put_contents('log.txt', '生存还是毁灭,这是个问题.'); ?>通过浏览器访问此脚本, 结果发现并没有输出相应的字符串,但却生成了相应的文件.由此说明在调用fastcgi_finish_request后,客户端响应就已经结束,但与此同时服务端脚本却继续运行!合理利用这个特性可以大大提升用户体验,趁热打铁再来一个例......

阅读全文»

php php-fpm慢日志

发表时间:2014-06-20     分类:PHP    标签: php nginx 慢日志 

php执行错误,执行超时。php-fpm.conf的配置文件中有一个参数request_slowlog_timeout是这样描述的; The timeout for serving a single request after which a PHP backtrace will be ; dumped to the 'slowlog' file. A value of '0s' means 'off'. ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) ; Default Value: 0 ;request_slowlog_timeout = 0当request_slowlog_timeout 设为一个具体秒时request_slowlog_timeout =5,表示如果哪个脚本执行时间大于5......

阅读全文»

linux php eaccelerator安装

发表时间:2014-03-20     分类:PHP    标签: linux php eaccelerator 

eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍。本文是讲如何安装eaccelerator首先准备工作是eaccelerator的安装包。可以通过官网下载: http://eaccelerator.net/我下载的是 eaccelerator-eaccelerator-42067ac.tar.gz:#解压# tar -zxvf eaccelerator-eaccelerator-42067ac.tar.gz#进入到目录# cd eaccelerator-eaccelerator-42067ac#目录请根据自己的环境调整# export PHP_PREFIX='/usr/local/php' ......

阅读全文»

php源码编译常见错误解决方案

发表时间:2014-03-12     分类:PHP    标签: linux php 

在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决。以下是具体的一些解决办法:checking for BZip2 support… yes checking for BZip2 in default path… not found configure: error: Please reinstall the BZip2 distributionFix: yum install bzip2-develchecking for cURL support… yes checking if we should use cURL for url streams… no checking for cURL in default path… not found configure: error: Please reinstall the libcur......

阅读全文»

scws 中文分词安装与PHP实例

发表时间:2013-11-30     分类:PHP    标签: scws 中文分词 

scws安装:# wget -c http://www.xunsearch.com/scws/down/scws-1.2.1.tar.bz2 # tar jxvf scws-1.2.1.tar.bz2 # cd scws-1.2.1 # ./configure --prefix=/usr/local/scws # make && make install scws的PHP扩展安装:# cd ./phpext # phpize # ./configure --with-php-config=/usr/local/php5410/bin/php-config # make && make install # echo "[scws]" >> /usr/local/php5410/etc/php.ini # echo "exte......

阅读全文»

apache VirtualHost虚拟主机配置

发表时间:2013-10-10     分类:PHP    标签: apache virtualhost 

本文旨在让读者知道如何在同一台机器上搭建多个网站, 并附带一些使用技巧. 以操作为主, 不会过多谈及原理.本文是写给拥有一定的服务器配置和管理技能, 工作中需要同时维护多个网站的网站主, 网站开发者和网络管理员. 如果你是互联网公司的配管工程师, 对计算机服务器原理和操作十分熟悉, 请忽视本文, 你不会在上面找到太多有价值的东西.以下是各操作系统的配置方法.Redhat Enterprise LinuxUbuntu LinuxWindowsMac OSRedhat Enterprise LinuxRedhat Enterprise Linux (包括 CentOS Linux), 是使用最广的 Linux 服务器, 大量的网站应用都部署在其上.1. 打开文件 /etc/httpd/conf/httpd.conf, 搜索 VirtualHost example, 找到代码如下:# # Vi......

阅读全文»

mac php 升级至php5.4

发表时间:2013-10-10     分类:PHP    标签: php54 php升级 

mac os x 10.8系统自带PHP为php version5.3.26因某些原因,得把PHP升级为 version 5.4此次升级用到brew软件brew软件,类似ubuntu的apt-get  , centos 的yum如未安装 ,请网上搜索下载安装 。brew tap homebrew/dupes brew tap josegonzalez/homebrew-php brew install php54 --with-mysql至此,安装PHP5.4 已成功。运行bogon:Downloads matt$ php -v PHP 5.3.26 (cli) (built: Jul 7 2013 19:05:08) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.3.0, Copyright (c) 19......

阅读全文»

phpredis安装 扩展模块

发表时间:2013-10-06     分类:PHP    标签: phpredis 

在PHP中使用rediscurl -O https://nodeload.github.com/nicolasff/phpredis/zip/master tar -zxf master cd phpredis-master/ phpize ./configure make sudo make install # 这时候会提示一个路径 # /usr/lib/php/extensions/no-debug-non-zts-20090626/ # 表示已经将扩展放置在该位置 vim /etc/php.ini #增加如下内容 extension=redis.so #重启apache sudo httpd -k restart #查看扩展安装情况 php -m |grep redis #出现 redis 表示安装成功。如果执......

阅读全文»

redis 安装与说明

发表时间:2013-10-05     分类:PHP    标签: redis 

首先是安装,它会默认安装到/usr/local/bin下curl ‐O http://redis.googlecode.com/files/redis‐2.6.4.tar.gz sudo tar ‐zxf redis‐2.6.4.tar.gz mv redis‐2.6.4 rediscd redis/ sudo make sudo make test sudo make isntall安装成功。启动redis。cd src/ ./redis-server ../redis.confRedis 由四个可执行文件:redis-benchmark、redis-cli、redis-server、redis-stat 这四个文件,加上一个redis.conf就构成了整个redis的最终可用包。它们的作用如下:redis-server:Redis服务器的daemon启动程序redis......

阅读全文»

thinkphp nginx pathinfo模式支持

发表时间:2013-09-17     分类:PHP    标签: thinkphp nginx pathinfo 

最近一个项目中使用了ThinkPHP做为开发框架,URL上我们使用了PATHINFO模式,但是Nginx默认是不支持PATHINFO的,需要进行手动配置才可以,于是我们按照了以下方法进行了Nginx的PATHINFO支持配置:修改nginx.conf,找到server中的 location ~ .php${},修改为location ~ .php {},并在其中增加以下内容:set $path_info ""; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_param SCRIPT_FILENAME $documen......

阅读全文»

thinkphp rbac实例一些错误

发表时间:2013-09-11     分类:PHP    标签: thinkphp rbac 

最近用到thinkphp rbac实例,发现里面错误还不少。列表一下重要的出来。1.Thinkphp的Action输出的JSON在IE中提示下载在Thinkphp\lib\core\Action.class.php中 将两处 “header('Content-Type:application/json; charset=utf-8');” 修改为 “header('Content-Type:text/html; charset=utf-8');”2.Prototype无法取得form中的提交控件具体表现为 Form.serialize方法返回为空,无法send// 发送表单Ajax操作,暂时不支持附件上传 sendForm: function(formId, url, response, target, tips, effect){vars = Form.......

阅读全文»

PHP header()函数示例方法

发表时间:2013-09-01     分类:PHP    标签: php header 

    //定义编码 header( 'Content-Type:text/html;charset=utf-8 ');     //Atom header('Content-type: application/atom+xml');     //CSS header('Content-type: text/css');     //Javascript header('Content-type: text/javascript');     //JPEG Image ......

阅读全文»

php 数据类型转换

发表时间:2013-08-07     分类:PHP    标签: php 数据类型转换 

PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:•(int)、(integer):转换成整形 •(float)、(double)、(real):转换成浮点型 •(string):转换成字符串 •(bool)、(boolean):转换成布尔类型 •(array):转换成数组 •(object):转换成对象 PHP数据类型有三种转换方式:•在要转换的变量之前加上用括号括起来的目标类型 •使用3个具体类型的转换函数,intval()、floatval()、strval() •使用通用类型转换函数settype(mixed var,string type) 第一种转换方式: (int)  (bool)  (float)  (string)  (array) (object)<?php $num1=3.14; $num......

阅读全文»

php curl curl_setopt参数列表与分析

发表时间:2013-05-17     分类:PHP    标签: php curl curl_setopt 

bool curl_setopt (int ch, string option, mixed value)curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。下列选项的值将被作为长整形使用(在option参数中指定):    •    CURLOPT_INFILESIZE : 当你上传一个文件到远程站点,这个选项告诉PHP你上传文件的大小。•    CURLOPT_VERBOSE : 如果你想CURL报告每一件意外的事情,设置这个选项为一个非零值。•    CURLOPT_HEADER : 如果你想把一个头包含在输出中,设置这个选项为一个非零值。•    CURLOPT_NOPROGRESS: 如果你不会PHP为CURL传......

阅读全文»

利用.htaccess缓存图片,提高加载速度

发表时间:2013-05-06     分类:PHP    标签: htaccess 

对Apache服务器上的博客/网站,可以通过编辑根目录下的.htaccess文件来激活图片缓存功能。 浏览器能够简单读取.htaccess文件的缓存控制头,而缓存头会要求浏览器将图片或其它任何媒体保留2周时间(或者更久),这样浏览器就能够随时调用图片,直到图片过期。 两周后浏览器重新将过期的图片存入缓存。 万一浏览器缓存被清空,浏览器会从缓存中重新加载图片或其它媒体。1,打开网站所在的根目录的.htaccess文件,如没有,请新建。2,输入以下代码# Image and Flash content Caching for One Month <FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf)$"> Header set Cache-Control "max-age=2592000" </FilesMatch>说明:以上代码......

阅读全文»

php object to array 对象转换数组函数

发表时间:2013-04-27     分类:PHP    标签: ObjectToArray 

工作需要 PHP上把对象转换为数组。本文就把自定义函数贴出来,分享!<?php function object_to_array($obj){ $_arr = is_object($obj)? get_object_vars($obj) :$obj; foreach ($_arr as $key => $val){ $val=(is_array($val)) || is_object($val) ? object_to_array($val) :$val; $arr[$key] = $val; } return $arr; } ?>......

阅读全文»

VMware 虚拟机系统间的通信IP(转)

发表时间:2013-01-03     分类:PHP    标签: VMware 虚拟机 

最近用虚拟机进行集群测试,故,就要实现虚拟机的系统间通信。下面的概念性东西,为收集所来。东西太多太乱,只看其中重点就行。平台的版本。这里我先给大家大致讲解下VBox的网络配置及应用。VirtualBox的提供了四种网络接入模式,它们分别是:1、NAT    网络地址转换模式(NAT,Network Address Translation)2、Bridged Adapter    桥接模式3、Internal    内部网络模式4、Host-only Adapter  主机模式下面我们分别对这四种网络模式进行分析解释:第一种 NAT模式解释:NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:Vhost访问网络的所有数据都是由主机提供的,vhost并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Vhos......

阅读全文»