Debian PHP测试如何进行
导读:Debian PHP测试实操指南 一 环境验证与连通性测试 更新并安装基础组件(以实际版本为准,如8.2): sudo apt update sudo apt install php php-cli php-fpm php-json p...
Debian PHP测试实操指南
一 环境验证与连通性测试
- 更新并安装基础组件(以实际版本为准,如8.2):
- sudo apt update
- sudo apt install php php-cli php-fpm php-json php-mysql php-curl php-gd php-mbstring php-xml
- 验证CLI与版本:
- php -v
- Web连通性测试(FPM或模块方式均可):
- 创建测试文件:echo “” | sudo tee /var/www/html/info.php
- 访问:http://服务器IP/info.php(看到PHP信息页即表示环境可用)
- 安全提示:测试完成后删除文件 sudo rm /var/www/html/info.php
- 配置文件路径速查(按运行模式区分):
- CLI:/etc/php/{ 版本} /cli/php.ini
- FPM:/etc/php/{ 版本} /fpm/php.ini
- 查看加载的配置:php --ini(CLI),或针对FPM进程查看对应ini
二 单元测试与代码覆盖率
- 安装Composer与PHPUnit(项目本地安装更可控):
- curl -sS https://getcomposer.org/installer | php – --install-dir=/usr/local/bin --filename=composer
- 在项目根目录:composer require --dev phpunit/phpunit
- 示例被测类 tests/Calculator.php:
- class Calculator { public function add($a,$b){ return $a+$b; } public function divide($a,$b){ if($b===0) throw new InvalidArgumentException(“Division by zero.”); return $a/$b; } }
- 示例测试类 tests/CalculatorTest.php:
- use PHPUnit\Framework\TestCase; require DIR.‘/…/Calculator.php’;
- class CalculatorTest extends TestCase { private $c; protected function setUp(): void { $this-> c=new Calculator(); } public function testAdd(){ $this-> assertEquals(5,$this-> c-> add(2,3)); } public function testDivide(){ $this-> assertEquals(2,$this-> c-> divide(6,3)); $this-> expectException(InvalidArgumentException::class); $this-> c-> divide(1,0); } }
- 运行测试与覆盖率:
- ./vendor/bin/phpunit tests/CalculatorTest.php
- 生成覆盖率报告(需安装php-xdebug或phpdbg):./vendor/bin/phpunit --coverage-html report
三 性能分析与调优
- 安装与启用OPcache(显著提升脚本执行速度,开发环境可按需关闭):
- 编辑php.ini(CLI与FPM分别设置):
- zend_extension=opcache.so
- opcache.enable=1
- opcache.memory_consumption=64
- opcache.max_accelerated_files=4000
- 重启服务:sudo systemctl restart php**{ 版本} **-fpm 或 sudo systemctl restart apache2
- 编辑php.ini(CLI与FPM分别设置):
- 调试与分析工具:
- Xdebug(调试/性能分析,开发环境常用):sudo apt install php**{
版本}
**-xdebug
- 配置示例(php.ini):
- zend_extension=“xdebug.so”
- xdebug.mode=debug
- xdebug.client_host=127.0.0.1
- xdebug.client_port=9003
- 重启服务后配合IDE断点调试
- 配置示例(php.ini):
- Blackfire(云端性能分析,适合定位瓶颈)
- Xdebug(调试/性能分析,开发环境常用):sudo apt install php**{
版本}
**-xdebug
- 负载与压力测试(AB或wrk):
- sudo apt install apache2-utils
- ab -n 100 -c 10 http://服务器IP/info.php
- wrk -t12 -c400 -d30s http://服务器IP/info.php
- FPM关键参数调优(/etc/php/{
版本}
/fpm/pool.d/www.conf):
- pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers 按内存与并发调优
四 常见问题与排查要点
- 版本与扩展不一致:
- 确认CLI与FPM使用同一版本:php -v 与针对FPM进程执行 php -v(如在FPM容器内或临时切换至对应SAPI)
- 扩展按需安装(如数据库、缓存、图像处理等),变更后重启FPM/Apache
- 配置文件未生效:
- 使用 php --ini 确认“Loaded Configuration File”
- 区分CLI与FPM的ini路径,必要时在对应目录修改并重启服务
- Web访问空白或502:
- 检查Web服务器(Apache/Nginx)与PHP-FPM是否运行:systemctl status apache2 / nginx / php**{ 版本} **-fpm
- Nginx常见:确认 fastcgi_pass 指向正确的 .sock 或 127.0.0.1:9000
- 查看错误日志:/var/log/apache2/error.log 或 /var/log/nginx/error.log
- Xdebug连不上IDE:
- 核对 xdebug.client_host/port 与IDE监听配置一致,确保监听已启动且防火墙放行
- 安全提示:
- 生产环境禁用或限制 info.php 等敏感文件访问,避免泄露配置与路径信息
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian PHP测试如何进行
本文地址: https://pptw.com/jishu/769387.html
