php底层原理与安全漏洞实战

php底层调试

vscode远程连接ssh

我很想说一个点:就是ubuntu的root远程连接不了这个问题,可能是以前的配置问题,但是此路不通,我们就换一条路嘛,于是我就是直接连接的普通用户,然后再su 切换root用户。

出现这个图就证明shell 远程连接成功

但是还是太麻烦了,解决办法:

在普通用户终端中,用文本编辑器(vim/nano)打开配置文件:

sudo vim /etc/ssh/sshd_config

在文件末尾添加 PermitRootLogin yes

修改配置后,必须重启 SSH 服务才能生效:sudo service ssh restart 然后我的root就可以远程连接了。

关于配置问题

之前我是一直下好了的,不知道为什么还是会报错,不能没有目录就是没有文件,但是make 又是一个漫长的过程......

解决方案:

配置系统默认 PHP 版本 sudo update-alternatives --config php

验证默认版本是否切换成功:php -v

若输出 PHP 8. 的版本信息,说明切换成功。

ubuntu的IP地址改为静态IP命令

步骤 1:排查并清理多余 Netplan 配置文件(避免冲突)

首先确保 /etc/netplan/ 下只有一个有效配置文件,避免相互覆盖:

复制代码
ls /etc/netplan/

删掉备份多余文件

复制代码
 sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak
步骤 2:编辑核心配置文件,确保语法绝对规范(无任何缩进 / 格式错误)
复制代码
sudo nano /etc/netplan/00-installer-config.yaml

network:
  ethernets:
    ens33:
      dhcp4: no
      addresses:
        - 192.168.0.110/24
      routes:
        - to: 0.0.0.0/0
          via: 192.168.0.2
      nameservers:
        addresses:
          - 223.5.5.5
          - 223.6.6.6
  version: 2
  renderer: networkd
步骤 3:保存配置并修正权限(确保 Netplan 认可)
复制代码
sudo chmod 600 /etc/netplan/00-installer-config.yaml

sudo netplan apply

步骤 4:验证最终生效结果(核心标志:dynamic 标识消失)

复制代码
ip a

编译安装 PHP 8.1.27debug 版本(创建完整的 php81-debug 环境)

1.安装依赖,准备编译 OpenSSL 1.1.1w
复制代码
apt update -y apt install -y wget tar gcc make
2.下载并编译 OpenSSL 1.1.1w
复制代码
# 进入 /usr/local 目录 :
cd /usr/local/

# 下载 PHP 8.1.27 源码包(稳定版,适配 OpenSSL 3.0+) 
wget https://www.php.net/distributions/php-8.1.27.tar.gz

# 解压源码包 
tar -zxvf php-8.1.27.tar.gz

# 进入源码目录 
cd php-8.1.27
3.使用正确格式的 ./configure 命令(无注释,格式规范)
复制代码
./configure \
--prefix=/usr/local/php81-debug \
--enable-debug \
--enable-cli \
--enable-fpm \
--with-openssl \
--with-curl \
--with-xml \
--with-zlib
4.配置成功后,继续完成编译和安装

配置成功(显示 Thank you for using PHP.)后,执行以下命令完成编译和安装,生成完整的 PHP 8.1 debug 环境:

复制代码
# 编译源码(耗时较长,耐心等待,不要中断进程)
make
# 安装编译结果(自动创建 /usr/local/php81-debug 目录并部署文件)
make install
5.验证最终结果
复制代码
cd /usr/local/php81-debug
ls -al
./bin/php -v

运行环境

"cwd": "${workspaceFolder}",

在 Ubuntu 上安装 Docker 及使用 Vulhub 漏洞环境

1. 更新系统软件源并安装依赖
php 复制代码
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
2. 添加 Docker 官方 GPG 密钥
php 复制代码
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
3. 添加 Docker 官方软件源
php 复制代码
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4.安装 Docker CE 与 Docker Compose
php 复制代码
sudo apt update

sudo apt install -y docker-ce docker-ce-cli containerd.io

sudo apt install -y docker-compose
5. 验证 Docker 安装成功
php 复制代码
root@xiong-VMware-Virtual-Platform:~# docker --version
Docker version 27.5.1, build 27.5.1-0ubuntu3~24.04.2
root@xiong-VMware-Virtual-Platform:~# docker-compose --version
docker-compose version 1.29.2, build unknown
root@xiong-VMware-Virtual-Platform:~# 

SSH 连接异常及解决

不知道为什么突然就断开了,气死人了

一如既往问AI,但其实所有配置都没有问题,ssh 也是好的,防火墙也是关的

1.在本地客户端配置保活(已讲过,再强调一次):编辑 ~/.ssh/config 文件,添加:
复制代码
Host 192.168.0.110
    ServerAliveInterval 30
    ServerAliveCountMax 3
2.在虚拟机服务端配置保活 :编辑 /etc/ssh/sshd_config 文件,添加:
复制代码
ClientAliveInterval 30
ClientAliveCountMax 5
3.然后重启 SSH 服务:
复制代码
sudo systemctl restart ssh

后面重新又可以连接了,但实际上,他还是会断开...就是突然的...可能电脑不行了吧,我也很莫名其妙,有些东西你越急越不行,但你不急更不行。

相关推荐
爱说实话2 小时前
C# DependencyObject类、Visual类、UIElement类
开发语言·c#
智码未来学堂2 小时前
C语言指针:打开通往内存世界的大门
c语言·开发语言
黎雁·泠崖2 小时前
Java面向对象:对象数组核心+综合实战
java·开发语言
野生技术架构师2 小时前
2026最新最全Java 面试题大全(整理版)2000+ 面试题附答案详解
java·开发语言
南村群童欺我老无力.2 小时前
Flutter 框架跨平台鸿蒙开发 - 打造表情包制作器应用
开发语言·javascript·flutter·华为·harmonyos
学习3人组2 小时前
AI视觉Python方向专业技术名词
开发语言·人工智能·python
黎雁·泠崖2 小时前
Java分支循环与数组核心知识总结篇
java·c语言·开发语言
派大鑫wink2 小时前
【Day36】EL 表达式与 JSTL 标签库:简化 JSP 开发
java·开发语言·jsp
云泽8082 小时前
深入浅出 C++ 继承:从基础概念到模板、转换与作用域的实战指南
开发语言·c++