用eclipse开发php
安装apache后,我打算配置php的开发环境,我用的是centos5.4
1首先安装php,我用Yum安装,yum install php
安装后下面有几个重要的路径
/etc/httpd/conf.d/下多了个php.conf文件, 它记录了apache加载php模块
/etc/php.ini php的设定档
/usr/bin/php php的运行程序
/usr/lib/php/modules php的模块存放路径
2 在eclipse官方网站下载Eclipse for PHP Developers,它是基于java虚拟机需要jre
在命令行下输入java -version看是否安装了jdk,如下:
输入下面命令解压
gzip -d eclipse-php-helios-SR1-linux-gtk.tar.gz
tar xvf eclipse-php-helios-SR1-linux-gtk.tar
在图形界面下看到下图
打开设定工作目录到/var/www/html,创建工程和php文件就可以了
通常会调用phpinfo()函数来看详细的信息,很顺利的完成上面的步骤
之后我想要debug,配置这个东西我费了不少功夫,配置debug功能需要几个步骤
2.1 在eclipse配置zend debugger 如下
project/property/Code Style/php debug
如果不配置的话通常出现下面的错误
2.2 配置好了的话再debug模式运行,应该还是失败,因为没有配置zend debugger
首先到zend studio官网下载zend debugger,解压后看readme就可以了说明很清楚
把解压的ZendDedugger.so 放到php的模块存放路径下,我的是/usr/lib/php/modules
然后修改php.ini文件添加如下三行
zend_extension=/usr/lib/php/modules /ZendDedugger.so
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always
之后再使用命令php -m看模块的加载信息,发现如下,zend加载失败
这个信息是因为selinux不允许php程序加载ZendDebugger,起初我以为只要改变一下
ZendDedugger.so的安全范本就可以了,如下运行
ls -Z,chcon -t textrel_shlib_t ZendDebugger.so, chcon -u system_u ZendDebugger.so
再运行php -m看到zend模块正常加载了
但是这个时候用eclipse还是不能debug php文件并且出现如下的错误
这个问题我查了2天才发现是因为apache没有加载zend模块,还是因为selinux的原因
我运行setenforce 0 关闭selinux, 在看phpinfo函数如下图,能看到加载了zend debugger
在eclipse中可以正常的debug了,如下可以看到小箭头了(最新的xammp1.7.3好像不支持zend debugger)