Detailed explanation about remote debugging of PHPSTROM
The following is an introduction to PHPSTROM remote debugging from the phpstorm tutorial column. I hope it will be helpful to friends in need!
Install DVWA project
System environment
whippet@ubuntu:~/Desktop$ cat /etc/issue
Check whether the PHP environment has been installed
whippet@ubuntu:~/Desktop$ dpkg -l | grep php
Add PPA source
whippet@ubuntu:~/Desktop$ sudo add-apt-repository ppa:ondrej/php
Update system
whippet@ubuntu:~/Desktop$ sudo apt-get update
Install php 5.6
whippet@ubuntu:~/Desktop$ sudo apt-get install php5.6
Install apache and start
whippet@ubuntu:~/Desktop$ sudo apt install apache2
Install mysql and start
whippet@ubuntu:~/Desktop$ sudo apt-get install mysql-server
Install DVWA
whippet@ubuntu:~/Desktop$ cd /var/www/html/
Configure PHPSTROM debugging
Environmental conditions
Machine name | Operating system | ip information | Experimental environment |
---|---|---|---|
Virtual Machine | Ubuntu 20.04.2 | 192.168.176.171 | PHP 5.6.40 |
Local machine | Windows10 | 192.168.176.1 | phpstrom |
xdebug 配置
我们直接在 xdebug 的官网上寻找历史版本^[1]^ 全局搜索 php 5.6
我们可以看到相较于 windows 上种类繁多的二进制文件,linux 只提供了源码文件,需要自己进行编译,下载源码之后我们复制到虚拟机内部
whippet@ubuntu:~$ tar -xcvf xdebug-2.5.5.tgz
xdebug 被安装在 /usr/lib/php/20131226/
修改php.ini配置文件,在文件中追加以下内容
[Xdebug]
保存之后重启 apache 服务 sudo service apache2 restart 之后访问 phpinfo 发现xdebug 的信息已经显示出来了
至此 xdebug 的相关配置就 ok 啦,接下来我们对本地的 phpstrom 进行配置
PHPSTROM 配置
首先我们从虚拟机内,把已经安装好的项目代码打包再脱下来,这是因为,有一些项目在安装之后会对源代码进行一定的修改,为了不出现偏差我们就把安装好的代码给拖取下来。利用 PHPSTROM 打开这个项目,并配置相关参数信息
File -> Settings -> Languages & Frameworks -> PHP -> Debug
配置 Servers
此处要注意,需要直接指定到网站的目录位置
配置PHP Web Application
然后我们打开登录的 login.php ,在其中添加断点,并设置 PHPSTROM 的监听模块
浏览网站页面,同时打开浏览器的调试插件
我们可以看到已经跳到我们断点的位置
至此调试的基本过程已经完成,以下的步骤属于可做可不做,本着学习的想法,我还是把添加上吧
SSH 配置
先大致描写一下为什么要进行这个操作,就是为了方便对 php 文件的修改,有时候我们想对 php 文件进行修改,但是在本地修改之后,并不会影响远端服务器上的文件,经过这样的配置之后,本地文件修改之后,远端服务器上的文件也会同步修改。
首先,我们安装好的 Ubuntu 虚拟机上是并不存在 SSH 的,所以我们需要先将 Ubuntu 上的 SSH 进行配置。
# 安装 openssh 服务
验证一下,发现可以登录成功
打开 PHPSTROM
添加一个 sftp 协议
选择 ubuntu 上 php 的路径位置
至此已经基本配置完成,我们来进行一下验证
File -> Settings -> Languages & Frameworks -> PHP -> Debug
配置完成,我们修改一个文件进行验证一下
The above is the detailed content of Detailed explanation about remote debugging of PHPSTROM. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
