Ubuntu(Linux)+XAMPP(LAMPP)+PHP+XDebug历险记

其它类软件,非上述版软件
回复
头像
tsbtjy
帖子: 150
注册时间: 2009-04-11 20:52
来自: 北京劲松

Ubuntu(Linux)+XAMPP(LAMPP)+PHP+XDebug历险记

#1

帖子 tsbtjy » 2010-02-25 17:29

安装个xdebug都真是历经’千辛万苦‘阿

首先机器是64位的,在网上找xdebug.so根本找不到。直接下载源码编译:
http://xdebug.org/files/xdebug-2.1.0beta2.tgz
不过不好意思看里面的readme没看明白。

网上找了说明才明白:
http://hi.baidu.com/brainmix/blog/item/ ... e0510.html

代码: 全选

解压

tar xfzv xdebug-2.0.5.tgz
cd xdebug-2.0.5

进去一看,没有configure文件。网上一搜,原来有个phpize的东西可以生成配置文件,接下来执行:$ sudo /opt/lampp/bin/phpize
下面哗哗出来一串,缺少N多文件,xampp是集成套件,当然少了很多东西,想起xampp的下载页面还有个开发套件的下面,赶紧下载,下载来一看,缺少的文件都在里面。把开发套件也解压:$ sudo tar xzv xampp-linux-devel-1.7.1.tar.gz -C /opt
再来:$ sudo /opt/lampp/bin/phpize
下面出来个提示,缺少autoconf。
哎,编译个xdebug还这么麻烦
继续:$ sudo apt-get install autoconf
安装完成后,再来:$ sudo /opt/lampp/bin/phpize
终于成功了。在xdebug-2.0.4目录下生成了configure文件。
执行:$  ./configure
提示要加 --with-php-config参数
加上再来:$ ./configure --with-php-config=/opt/lampp/bin/php-config
很好,出来一串,没提示错误。
下面的就好办了
$ make
$ make install
编译安装后提示xdebug已经安装到/opt/lampp/lib/php/extensions/no-debug-non-zts-20060613/下
修改php.ini
$ sudo gedit /opt/lampp/etc/php.ini
在最后添加一句:
zend_extension = "/opt/lampp/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
重启apache
$ sudo /opt/lampp/lampp restartapache
我也遇到了wrong ELF class: ELFCLASS64,以前安装memcache也是,没办法。到网上找终于找到了一个,但是5.3环境下的。报错:
Xdebug requires Zend Engine API version 220090626.
The Zend Engine API version 220060519 which is installed, is outdated.

费了很长时间,决定在virtualbox的ubuntu server中编译一个32位的时候找到一篇文章:
http://unixfans.blogbus.com/logs/34375330.html

good!
终于在http://aspn.activestate.com/ASPN/Downlo ... eDebugging找到了编译好的xdebug.so放进去,ok。

成功了,才发现原来那么简单,但是不知道前,那叫费劲。下帖贴一个转贴的。
:em02
头像
tsbtjy
帖子: 150
注册时间: 2009-04-11 20:52
来自: 北京劲松

Re: Ubuntu(Linux)+XAMPP(LAMPP)+PHP+XDebug历险记

#2

帖子 tsbtjy » 2010-02-25 17:30

好文章推荐:

:em09
buntu(Linux)+XAMPP(LAMPP)+eclipse+PHP+XDebug 完整的开发环境配置方法 - [Web Develop]

首先是安装JRE或者JDK,网上大把方法,敬请搜寻。我偷懒。

其次,装XAMPP,安装方法链接如下:这里假设XAMPP的安装路径为:/opt/lampp

http://unixfans.blogbus.com/logs/34373510.html

再次,装eclipse,安装PDT集成版本的eclipse,下载地址如下,选择ALL IN ONE版本的PDT

http://www.eclipse.org/pdt/downloads/

这个最简单,下好后直接解压到你希望的目录地址就算安装完成了,我这里假设安装在:/home/yourname/eclipse

eclipse运行前的一些配置步骤,看这里的第2部分:http://unixfans.blogbus.com/logs/33942617.html

第一次运行eclipse时,需要指定workspace的地址,如果你只是为了开发php,那么可以把工作区地址指定到:/opt/lampp /htdocs ,因为这里是XAMPP中apache的docs地址,添加的php文件可以直接在浏览器中运行。但坏处是删除文件时要小心,不然把XAMPP中 htdocs文件夹里原有的文件删除了。也可以不这样做,将工作区用ln命令链接到htdocs文件夹下即可。

以上两样的安装都比较简单,直接解压就搞定了。下面开始装Xdebug,在这里下载已经编译好的Xdebug remote文件,注意你的版本和系统类型。

http://aspn.activestate.com/ASPN/Downlo ... eDebugging

下载好后j将xdebug.so文件,拷贝到你的LAMPP文件夹内,本文中路径如下:/opt/lampp/lib/php/extensions/

然后打开php.ini进行编辑,路径如下/opt/lampp/etc/php.ini

在此文件倒数第二行加入如下代码段,注意zend_extension和xdebug.profiler_output_dir要对应你的lampp的安装地址,我这里红色高亮。

[XDebug]
zend_extension="/opt/lampp/lib/php/extensions/xdebug.so"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="/opt/lampp/tmp"

保存,退出。好,到此,xdebug安装完成,如果已经开启xampp了,请重启。

登录http://localhost/xampp ,点左边栏的phpinfo() ,查找“xdebug”关键字,如果有xdebug的详细信息,说明安装成功。

这里有个小问题:官站说明文档中介绍:http://www.xdebug.org/docs/install#configure-php

add the following line to php.ini: zend_extension="/wherever/you/put/it/xdebug.so" (for non-threaded use of PHP, for example the CLI, CGI or Apache 1.3 module)

or: zend_extension_ts="/wherever/you/put/it/xdebug.so" (for threaded usage of PHP, for example the Apache 2 work MPM or the the ISAPI module).

虽然我的XAMPP中的apache版本是2.2.11,但是使用zend_extension_ts语句是无法加载xdebug的,请读者自行测试,如果zend_extension_ts不能加载,那么和我一样请用zend_extension。


打开Eclipse,在里面设定xdebug,
window->preferences->PHP->Debug,
PHP Debugger 选择 Xdebug
Server 选择 php Default Web Server,
php Executalbe 点进去之后按Add, 在Executable Path按Browse,选择/opt/lampp/bin/php-5.2.8 ,php ini文件路径在/opt/lampp/etc/php.ini ,名字嘛,随便给个就好,叫php吧,php debuger选择XDebug ,点ok

同样是在preferences里,点general,web browser ,点new ,指定下外部的Firefox浏览器地址:/usr/bin/firefox

下面添加一个php文件测试下是否成功。新建一个名为first的php project,在此project里新建一个php file,名字也叫first.php,点next,试用而已,所以选择new simple php file ,
填入下列代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Basic PHP Page</title>
</head>
<body>
<p>This is standard HTML.</p>
</body>
</html>
保存,然后右击first.php, properties ,Run/Debug Settings ,点new ,选择php web server。
名称:first
server debugger :XDebug
PHP Server :Default。。。。。。
File一栏输入创建的PHP项目的相对路径,如果项目的绝对路径是/opt/lampp/htdocs/first/first.php,那么此栏只输入/first/first.php
URL勾选auto generate就是。
点apply应用。

OK,右击first.php,run as PHP Web Page 看看成果。正常情况下应该是自动打开一个Firefox窗口,地址是http://localhost/first/first.php ,页面内容是:This is standard HTML. 想试试debug也一样,debug as PHP Web Page ,此时会提醒你是否切换到debug视角,点yes ,进入debug模式,用过别的IDE的应该很熟悉。想再换回PHP编辑视角,点右上角的PHP 图标的perspective就回来了。

以下作者和网站对本文完成有帮助:

http://blog.sina.com.cn/s/blog_4dda073c0100bikk.html

http://www.ibm.com/developerworks/cn/linux/l-xampp/

http://www.latenightpc.com/blog/archive ... and-xdebug
头像
qiang_liu8183
论坛版主
帖子: 10699
注册时间: 2006-09-10 22:36
系统: Arch Debian
来自: 北京

Re: Ubuntu(Linux)+XAMPP(LAMPP)+PHP+XDebug历险记

#3

帖子 qiang_liu8183 » 2010-02-25 18:33

劲松的人都这么色么? :em04
看破、放下、自在、随缘、念佛
真诚、清净、平等、正觉、慈悲
JiangHui
论坛版主
帖子: 21308
注册时间: 2007-08-02 20:29
系统: 窓辺とうこ

Re: Ubuntu(Linux)+XAMPP(LAMPP)+PHP+XDebug历险记

#4

帖子 JiangHui » 2010-02-25 18:35

太长……
头像
tsbtjy
帖子: 150
注册时间: 2009-04-11 20:52
来自: 北京劲松

Re: Ubuntu(Linux)+XAMPP(LAMPP)+PHP+XDebug历险记

#5

帖子 tsbtjy » 2010-02-26 9:41

北京的不都是很色吗?尤其是男的 哈哈哈哈
qiang_liu8183 写了:劲松的人都这么色么? :em04

从网上下载的由于版本太低,没法安装phpunit,只能更新--重新安装。
于是用到了virtualbox下的ubuntu server 。说说经历
首先你要让文件能互通,也就是共享。这个以前我有做,就省掉了
其次就是在server自带的php没有php-dev,执行:
sudo apt-get install php5-dev
没有找到作罢,找个简单的,直接下载xampp-1.71,和她的dev包,本地已经有了,共享过去。
解压,运行phpize
下面出来个提示,缺少autoconf。
继续:$ sudo apt-get install autoconf
直到现在才ok
中间我还忘记了 make&make install 的时候加sudo导致错误,其实看readme就知道只要make就行了。cp modules/xdebug.so 你的共享


至此可以正常安装phpunit
phpunit.png
:em11 :em11 :em11 :em11 :em11 :em11 :em11 :em11 :em11 :em11 :em11
xiaocoderone
帖子: 1
注册时间: 2015-06-07 16:39
系统: ubuntu

Re: Ubuntu(Linux)+XAMPP(LAMPP)+PHP+XDebug历险记

#6

帖子 xiaocoderone » 2015-06-07 16:43

:em03 xampp 已经带了 xdebug.so了 不用自己再编译了 phpinfo() 找到 extensions_dir 然后就能找到 xampp带的扩展中有xdebug.so 呵呵
回复