温馨提示×

如何在Ubuntu中测试PHP代码

小樊
48
2025-10-29 05:47:49
栏目: 编程语言

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

1. 命令行直接执行

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

  • 安装PHP CLI(若未安装):
    sudo apt update
    sudo 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 PHPUnit\Framework\TestCase;
    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中设置),避免敏感信息泄露。

0