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

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

相关推荐
ServBay8 小时前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户9623779544811 小时前
CTF 伪协议
php
BingoGo3 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack3 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo4 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack4 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack5 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo5 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack6 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理6 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php