Ubuntu中如何测试PHP代码

作者:袖梨 2026-06-11

在Ubuntu中测试PHP代码的常用方法

如何在Ubuntu中测试PHP代码

1. 命令行直接执行

命令行是最基础的测试方式,适合快速验证PHP脚本的语法和逻辑。

  • 安装PHP CLI(若未安装):
    sudo apt updatesudo apt install php-cli
  • 运行PHP脚本:将代码保存为script.php(例如内容为<?php echo "Hello, Ubuntu PHP!n"; ?>),在终端执行:
    php script.php
    终端将输出脚本的执行结果。

2. 使用内置PHP服务器(快速本地测试)

内置服务器无需额外配置Web服务器,适合开发阶段的快速调试。

  • 启动内置服务器:在PHP脚本所在目录(如~/projects)运行:
    php -S localhost:8000
    这会启动一个监听localhost:8000的本地服务器。
  • 访问脚本:打开浏览器,输入http://localhost:8000/script.php,即可看到脚本输出。服务器运行期间终端需保持打开状态。

3. 配合Web服务器(Apache/Nginx,模拟生产环境)

若需要测试与Web服务器的兼容性(如处理表单、Session等),可配置Apache或Nginx。

  • Apache配置步骤:

    • 安装Apache和PHP模块:
      sudo apt install apache2 libapache2-mod-php
    • 重启Apache:
      sudo systemctl restart apache2
    • 放置脚本:将script.php复制到Apache默认目录/var/www/html/
    • 访问脚本:浏览器输入http://localhost/script.php
  • Nginx配置步骤:

    • 安装Nginx和PHP-FPM:
      sudo apt install nginx php-fpm
    • 配置Nginx:编辑/etc/nginx/sites-available/default,修改location ~ .php$部分:
      location ~ .php$ {include snippets/fastcgi-php.conf;fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 根据PHP版本调整}
    • 重启Nginx:
      sudo systemctl restart nginx
    • 放置脚本到/var/www/html/,访问http://localhost/script.php

4. 使用PHPUnit进行单元测试(自动化测试)

单元测试用于验证代码逻辑的正确性,适合项目开发中的持续集成。

  • 安装PHPUnit:推荐通过Composer全局安装(需提前安装Composer):
    composer global require phpunit/phpunit
    确保~/.composer/vendor/bin在系统PATH中(可通过echo $PATH验证)。
  • 编写测试用例:假设有src/Calculator.php(待测试代码):
    class Calculator {public function add($a, $b) {return $a + $b;}}
    创建tests/CalculatorTest.php(测试代码):
    use PHPUnitFrameworkTestCase;require_once '../src/Calculator.php';class CalculatorTest extends TestCase {public function testAdd() {$calculator = new Calculator();$this->assertEquals(5, $calculator->add(2, 3));}}
  • 运行测试:在项目根目录执行:
    vendor/bin/phpunit tests
    测试通过会显示绿色提示,失败则显示红色错误信息。

注意事项

  • 若使用Web服务器,确保防火墙允许对应端口(如Apache的80端口、Nginx的80端口)。
  • 单元测试前需安装Composer(sudo apt install composer),并熟悉PHPUnit的基本断言方法(如assertEqualsassertTrue)。
  • 生产环境中,建议关闭display_errors(在php.ini中设置),避免敏感信息泄露。

相关文章

精彩推荐