PHP在Debian中的测试方法
在测试前需确保PHP环境已正确搭建。通过Debian的包管理器安装PHP核心及常用扩展(如CLI、FPM、MySQL、GD等),以满足不同场景的测试需求:
sudo apt update
sudo apt install php php-cli php-fpm php-mysql php-gd php-mbstring php-curl php-xml
安装完成后,通过php -v命令验证PHP版本,确认安装成功。
创建一个简单的PHP文件(如/var/www/html/hello.php),内容为<?php echo "Hello, World!\n"; ?>,然后在终端运行:
php /var/www/html/hello.php
或在浏览器中访问http://your_server_ip/hello.php,若输出Hello, World!则表示PHP基础功能正常。
PHPUnit是PHP生态中最流行的单元测试框架,通过Composer安装并编写测试用例:
composer require --dev phpunit/phpunit,生成vendor目录及依赖。tests/CalculatorTest.php文件,内容如下:use PHPUnit\Framework\TestCase;
require '../src/Calculator.php'; // 假设被测类在src目录
class CalculatorTest extends TestCase {
protected $calculator;
protected function setUp(): void {
$this->calculator = new Calculator(); // 初始化被测对象
}
public function testAdd() {
$this->assertEquals(5, $this->calculator->add(2, 3));
$this->assertEquals(-1, $this->calculator->add(2, -3));
}
}
./vendor/bin/phpunit tests,查看测试结果(通过/失败)。sudo pecl install xhprof。/etc/php/<version>/cli/php.ini(命令行)或/etc/php/<version>/fpm/php.ini(FPM)中添加extension=xhprof.so,重启PHP服务:sudo systemctl restart php<version>-fpm。xhprof_enable(XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);
// 被测代码(如Calculator::add(2, 3))
$data = xhprof_disable();
file_put_contents('/tmp/xhprof.data', serialize($data));
http://your_server_ip/xhprof/xhprof_html/index.php(需部署XHprof工具),上传/tmp/xhprof.data查看性能瓶颈。Blackfire是商业性能测试工具,支持可视化分析:
sudo apt install blackfire-agent,配置/etc/blackfire/agent文件。blackfire run php your_script.php)生成性能报告,查看函数调用时间、内存占用等指标。若需测试代码在不同PHP版本下的兼容性,可通过以下方式:
update-alternatives切换PHP版本(如sudo update-alternatives --config php),或通过Docker容器运行不同版本的PHP。overtrue/phplint,运行./vendor/bin/phplint --compatibility=7.4 src/检查代码是否符合指定PHP版本的规范。Xdebug是PHP调试利器,帮助定位代码错误:
sudo apt install php-xdebug。/etc/php/<version>/cli/php.ini中添加:zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9003