CentOS6.4 PHP5.2添加ZendDebug扩展 完美支持Zend Studio10.5

之前一段时间用的开发环境是wamp,这个集成包的优点是:安装简单,操作便捷,缺点是:每次重装系统后都要重新安装配置环境,并且和线上的lamp环境不一致,有时本地运行正常的代码上到线上却出现莫名其妙的问题,所以考虑重新为本地安装lamp开发环境,即:windows8+VMware Workstation 10 +CentOs6.4 64位 + lamp + Zend Studio10.5

安装完成后发现无法为PHP添加ZendDebug扩展,查看资料才知道zend官方在PHP5.2之后就不再对ZendDebug提供更新支持,所以如果要用Zend Studio + ZendDebug调试代码的话PHP的版本必须在5.3以下(当然也可以用Zend Studio+Xdebug 组合),无奈只有编译PHP5.2.*老版本安装lamp。

ZendDebug下载:linux64位 linux32位 Zend官方下载

ZendDebug配置过程如下:

[root@E /]#yum -y install php-devel

选择对应版本的ZendDebug.so文件放至:/usr/lib64/php/modules/目录下

(因为本机安装的为PHP5.2.1.7,所以选择ZendDebugger-20110410-linux-glibc23-x86_64/ZendDebugger-20110410-linux-glibc23-x86_64/5_2_x_comp/ZendDebugger.so)

在php.ini中最下方添加配置:

[root@E /]#vi /etc/php.ini
[Zend]
zend_extension=/usr/lib64/php/modules/ZendDebugger.so  //扩展文件绝对路径
zend_debugger.allow_hosts=127.0.0.1/32,192.168.0.0/16   //设置你允许访问的主机IP范围
zend_debugger.expose_remotely=always

保存

[root@E /]#service httpd restart   //重启apache

用phpinfo查看,未发现ZendDebugger扩展,说明加载失败。

用php -v查看,有报错:

[root@E /]# php -v
Failed loading /usr/lib64/php/modules/ZendDebugger.so: libssl.so.0.9.8: cannot open shared object file: No such file or directory
PHP 5.3.3 (cli) (built: Nov 22 2013 10:59:29)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
原因:因为最新的linux发行版本 libssl 和 libcrypto 已升级到1.0.0,而系统中找不到 libssl.so.0.9.8文件

解决:只要创建相应的软链接即可

[root@E /]# ll /usr/lib64/libssl*
-rwxr-xr-x. 1 root root 221568 2 nov  23 2013 /usr/lib64/libssl3.so
lrwxrwxrwx. 1 root root 16 11 nov 26 19:31 /usr/lib64/libssl.so -> libssl.so.1.0.1e
lrwxrwxrwx. 1 root root 16 11 nov 26 19:31 /usr/lib64/libssl.so.10 -> libssl.so.1.0.1e
-rwxr-xr-x. 1 root root 436984 12 nov  4 2013 /usr/lib64/libssl.so.1.0.1e
建立软连接:
[root@E /]#ln -s /usr/lib64/libssl.so.1.0.1e /usr/lib64/libssl.so.0.9.8

[root@E /]# ll /usr/lib64/libcrypto*
lrwxrwxrwx. 1 root root 19 11 nov 26 19:31 /usr/lib64/libcrypto.so -> libcrypto.so.1.0.1e
lrwxrwxrwx. 1 root root 19 11 nov 26 19:31 /usr/lib64/libcrypto.so.10 -> libcrypto.so.1.0.1e
-rwxr-xr-x. 1 root root 1946880 12 nov  4 2013 /usr/lib64/libcrypto.so.1.0.1e
建立软连接:
[root@E /]#ln -s /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.0.9.8
[root@E /]#service httpd restart   //重启apache
[root@E /]# php -v
Zend Debugger requires Zend Engine API version 220060519.
The Zend Engine API version 220090626 which is installed, is newer.
Contact Zend Technologies at http://www.zend.com/ for a later version of Zend Debugger.

PHP 5.3.3 (cli) (built: Jul 12 2013 20:35:47)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

报错解决

用phpinfo查看ZendDebug扩展加载成功!

Zend Studio10.5测试,调试正常!

转载请注明出处:怡然之乐 – FineYi

参考资料:stackoverflow  forums.zend.com CSDN

windows平台下为PHP添加Mongo和redis扩展

公司新做一个新项目要用到Mongodb和redis,安装了新版的WampServer Version 2.2
集成环境,集成包中的PHP未集成这两个扩展,需手动添加,去网上找了些教程发现
提供的扩展文件不适用,添加失败,可能是WampServer版本太新的原因。去github
上找到新的Mongo、redis扩展版本,添加到PHP,完美支持。
https://github.com/nicolasff/phpredis/downloads
https://github.com/mongodb/mongo-php-driver
下载指定版本放到php/ext/下
在php.ini中添加
extension=php_mongo.dll
extension=php_redis.dll
重启WampServer