since.2006  

eAccelerator是一个免费开源的PHP加速、优化、编译和动态缓存的项目,它可以通过缓存PHP代码编译后的结果来提高PHP脚本的性能,使得一向很复杂和离我们很远的PHP脚本编译问题完全得到解决。通过使用eAccelerator,可以优化你的PHP代码执行速度,降低服务器负载,可以提高PHP应用执行速度最高达10倍。

eAccelerator通过把经过编译后的PHP代码缓存到共享内存中,并在用户访问的时候直接调用从而起到高效的加速作用。它的效率非常高,从创建共享内存到查找编译后的代码都在非常短的时间内完成,对于不能缓存到共享内存中的文件和代码,eAccelerator还可以把他们缓存到系统磁盘上。

参照linode安装指南上的方法,默认是没有安装eAccelerator的,得自己把这功能加上。安装前先了解下另一个东东:phpize。

phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块。比如你想在原来编译好的php中加入eAccelerator或者memcached等扩展模块,可以使用phpize。

基础知识了解完了后,开始安装:

# 安装phpize
yum install php-devel
# 下载eaccelerator
wget http://soft.vpser.net/web/eaccelerator/eaccelerator-0.9.6.1.zip
unzip eaccelerator-0.9.6.1.zip
cd eaccelerator-0.9.6.1
phpize
./configure --enable-eaccelerator=shared --with-php-config=/usr/bin/php-config
make
make install

如果在make时出现:error: "zend_property_info" has no member named "ce" 错误,做如下修改:

vi ea_store.c
#用//注释掉683行return (child_info->ce != from)
#然后重新make 和 make install

编辑php.ini:

vi /etc/php.ini

# 在结尾加入
zend_extension="/usr/lib/php/modules/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

创建eAccelerator缓存目录:

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

重启php-fastcgi:/etc/init.d/php-fastcgi restart

查看一下phpinfo吧 :-)

 

Posted by hee at 20:11 PM | Permalink | 评论(0)

如果您觉得PHP能像JAVA、Visual Studio等IDE一样进行代码调试很重要,就继续往下看。

半年前的“eclipse+pdt+xdebug PHP集成开发环境”是上次重装系统时,方便自己下次重装系统时快速搭建PHP集成开发环境时记录的。

现在看来,似乎没起到一点方便的作用。反而成了目前日志中浏览量最高的一篇日志了,但内容却极其简单。

现在又准备重装系统了,再为了方便下次重装,详细的记录一下。

在上一篇文章中PDT有一点小问题,在调试时显示Variables时有问题。

现在PDT1.0.2已经Release了,刚简单的试了下,上述问题已经修正,语法提示功能也有增强。

为了方便重装系统时尽量做最小的改动,选择了XAMPP解压缩版(重装后,只需运行一次setup_xampp.bat即可),现在最新版是1.6.6

下面记下安装及设置调试过程:

软件

  • XAMPP 1.6.6 解压缩版,下载地址:点击这里
  • PDT 1.0.2 Release All-in-One,下载地址:点击这里
  • XDebug 2.0.2 | Windows modules PHP 5.2.1-5.2.7,下载地址:点击这里

注意xdebug的版本必须和XAMPP中的PHP版本兼容,XAMPP 1.6.6中PHP版本是5.2.5,所以使用XDebug 2.0.2 | Windows modules PHP 5.2.1-5.2.7

安装:

阅读全文 "Eclipse/PDT xdebug 调试PHP" »

Posted by hee at 20:02 PM | Permalink | 评论(2)

后台使用了phpmailer,支持mail,smtp,sendmail等方式发送、html格式邮件、附件、暗送,密送等等。
中间遇到的一些问题记录下:

Q: Mailer Error: Language string failed to load: connect_host
A: 加入phpmailer的语言文件存放路径
$mail->SetLanguage("en", ABSPATH . EXINC . "/3party/phpmailer/language/");

Q: Mailer Error: The following From address failed: example@163.com
A: 返回这个要分几步走,最好就是开启phpmailer的debug功能,看服务端返回什么值。
假如是553 authentication is required
请确认您的$mail->Username和$mail->Password是正确的。

假如是553 You are not authorized to send mail
请确认$mail->Username和$mail->From相同,应该是smtp邮件服务器反垃圾邮件功能进行了判断,要Username和From一致.

PS:如果有这个世界上有男士最没个性奖的话,那么一定非我莫数了。不要问偶为什么,突然想到这个词了。

 

Posted by hee at 14:03 PM | Permalink | 评论(0)