Ubuntu安装xampp并配置xdebug利用vscode调试php

安装XAMPP

去xampp官网下载对应版本,ubuntu会下载.run文件。

sudo mv xampp-linux-x64-5.6.19-0-installer.run /opt/

cd /opt/

sudo -s

chmod 755 xampp-linux-x64-5.6.19-0-installer.run

./xampp-linux-x64-5.6.19-0-installer.run

依次执行上面命令,就会打开xampp的安装窗口,安装就好。

vscode安装插件

ctrl-p调出控制,输入

ext install php-debug.

安装完毕,然后在vscode的usersetting里添加如下:

1
2
3
4
5
6
{
// Points to the php executable.
"php.validate.executablePath": "/opt/lampp/bin/php"
}

指定php的路径,然后需要配置xdebug。

配置xdebug

首先去xdebug官网下载source,然后执行如下命令解压:

tar -zxf xdebug-2.4.0.tgz

执行phpize

cd xdebug-2.4.0/

/opt/lampp/bin/phpize

显示如下,

1
2
3
4
5
6
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

从提示看出我是缺了东西了,那就装上,执行命令如下

sudo apt-get install autoconf

再次执行

/opt/lampp/bin/phpize

1
2
3
4
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226

现在可以看出是正常了,可以继续了。

./configure –enable-xdebug –with-php-config=/opt/lampp/bin/php-config

sudo make

执行后显示

1
2
3
4
5
xxxxxxxxxxxxxx
----------------------------------------------------------------------
Build complete.
Don't forget to run 'make test'.

那我就试一试。。。

make test

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Build complete.
Don't forget to run 'make test'.
=====================================================================
PHP : /opt/lampp/bin/php
PHP_SAPI : cli
PHP_VERSION : 5.6.19
ZEND_VERSION: 2.6.0
PHP_OS : Linux - Linux jacean-Ubuntu 4.2.0-34-generic #39-Ubuntu SMP Thu Mar 10 22:13:01 UTC 2016 x86_64
INI actual : /home/jacean/文档/xdebug-2.4.0/tmp-php.ini
More .INIs :
CWD : /home/jacean/文档/xdebug-2.4.0
Extra dirs :
VALGRIND : Not used
=====================================================================
TIME START 2016-04-04 08:30:01
=====================================================================
No tests were run.

然后安装

sudo make install

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Installing shared extensions: /opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/
+----------------------------------------------------------------------+
| |
| INSTALLATION INSTRUCTIONS |
| ========================= |
| |
| See http://xdebug.org/install.php#configure-php for instructions |
| on how to enable Xdebug for PHP. |
| |
| Documentation is available online as well: |
| - A list of all settings: http://xdebug.org/docs-settings.php |
| - A list of all functions: http://xdebug.org/docs-functions.php |
| - Profiling instructions: http://xdebug.org/docs-profiling2.php |
| - Remote debugging: http://xdebug.org/docs-debugger.php |
| |
| |
| NOTE: Please disregard the message |
| You should add "extension=xdebug.so" to php.ini |
| that is emitted by the PECL installer. This does not work for |
| Xdebug. |
| |
+----------------------------------------------------------------------+

接下来就是配置php.ini,

sudo gvim /opt/lampp/etc/php.ini

末尾添加

1
2
3
4
5
6
7
[Xdebug]
zend_extension=/opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so
xdebug.profiler_enable=on
xdebug.trace_output_dir="../xdebug"
xdebug.profile_output_dir="../xdebug"
xdebug.remote_enable = 1 //这两行远程是配合vscode的
xdebug.remote_autostart = 1

然后重启xampp,在phpinfo页面就可以看到有关xdebug的信息了。

启动调试

xampp默认的网站根目录是htdocs,因为/opt/lamp/htdocs的操作是需要root权限的,很不方便,所以就把根目录改一下。

mkdir ~/workspace/WEB

然后修改httpd.conf,在/opt/lamp/etc下。

sudo gvim httpd.conf

修改

1
2
3
4
# DocumentRoot "/opt/lampp/htdocs"
# < Directory "/opt/lampp/htdocs">
DocumentRoot "/home/jacean/workspace/WEB"
< Directory "/home/jacean/workspace/WEB">

我在<>之间加了一个空格,是为了避免markdown格式显示,应该删掉。

然后,在WEB目录下新建index.php,保存。

1
2
3
4
5
6
<?php
$a=1;
$b=2;
$c=$a-$b;
$d=$c+$b;
echo '<strong>hello world!</strong>';

然后加断点,比如我加到$c那一行。
记得在debug栏中选择设置齿轮,在下拉中选中php debug,会自动生成lanch.json文件,
然后再点击绿三角运行。
启动调试监听,
重启xampp,进入localhost。可以看到vscode自动弹出并标识在断点处,此时可以查看变量等等常用调试操作。
php_debug

至此,大功告成!!!

xampp启动

要启动xampp桌面程序,可以在命令行输入

cd /opt/lampp
sudo ./manager-linux-x64.run

直接命令行启动

lampp start
lampp stop
lampp restart

只启动和停止Apache:

/opt/lampp/lampp startapache(stopapache)

只启动和停止MySQL:

/opt/lampp/lampp startmysql(stopmysql)

只启动和停止ProFTPD服务器:

/opt/lampp/lampp startftp(stopftp)

启动和停止Apache的SSL支持:

/opt/lampp/lampp startssl(stopssl)

取消自启动:

ln –s /opt/lampp/lampp K01lampp

卸载XAMPP:

rm –rf /opt/lampp

文章目录
  1. 1. 安装XAMPP
  2. 2. vscode安装插件
  3. 3. 配置xdebug
  4. 4. 启动调试
  5. 5. xampp启动
,