以下是一些常用的PHP网站测试代码示例,涵盖了基础功能测试、数据库连接测试、表单处理测试以及单元测试框架的使用。这些代码可以帮助你快速验证PHP网站的基本功能和逻辑。
1. 基础功能测试
1.1 PHP信息测试
php
// 显示PHP配置信息
phpinfo();
1.2 简单输出测试
php
echo "7";
2. 数据库连接测试
2.1 MySQL数据库连接测试
php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
echo "连接成功";
2.2 PDO数据库连接测试
php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置PDO错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
3. 表单处理测试
3.1 简单表单处理
php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// 收集表单数据
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
// 处理数据
echo "姓名: " . $name . "
";
echo "邮箱: " . $email . "
";
"post" action="$_SERVER["PHP_SELF"]);?>">
姓名: "text" name="name">
邮箱: "text" name="email">
"submit" name="submit" value="提交">
4. 单元测试(使用PHPUnit)
4.1 安装PHPUnit
确保你已经安装了PHPUnit,可以通过Composer安装:
bash
composer require --dev phpunit/phpunit
4.2 示例测试类
创建一个简单的类进行测试:
File: src/Calculator.php
php
class Calculator {
public function add($a, $b) {
return $a + $b;
public function subtract($a, $b) {
return $a - $b;
File: tests/CalculatorTest.php
php
use PHPUnit\Framework\TestCase;
require 'src/Calculator.php';
class CalculatorTest extends TestCase {
public function testAdd() {
$calculator = new Calculator();
$result = $calculator->add(2, 3);
$this->assertEquals(5, $result);
public function testSubtract() {
$calculator = new Calculator();
$result = $calculator->subtract(5, 3);
$this->assertEquals(2, $result);
4.3 运行测试
在项目根目录下运行:
bash
./vendor/bin/phpunit tests/CalculatorTest.php
5. 会话和Cookie测试
5.1 会话测试
php
session_start();
// 设置会话变量
$_SESSION['username'] = "testuser";
// 检查会话变量
if(isset($_SESSION['username'])) {
echo "欢迎, " . $_SESSION['username'];
} else {
echo "未设置会话变量";
5.2 Cookie测试
php
// 设置Cookie
setcookie("test_cookie", "test_value", time() + 3600, "/");
// 检查Cookie
if(isset($_COOKIE["test_cookie"])) {
echo "Cookie值: " . $_COOKIE["test_cookie"];
} else {
echo "Cookie未设置";
6. 文件上传测试
6.1 文件上传表单
php
"upload.php" method="post" enctype="multipart/form-data">
选择文件上传:
"file" name="fileToUpload" id="fileToUpload">
"submit" value="上传文件" name="submit">
6.2 文件上传处理
File: upload.php
php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
// 检查文件是否为真实图片
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "文件是一个有效的图片 - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "文件不是一个有效的图片。";
$uploadOk = 0;
// 检查文件是否已存在
if (file_exists($target_file)) {
echo "抱歉,文件已存在。";
$uploadOk = 0;
// 检查文件大小
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "抱歉,文件太大。";
$uploadOk = 0;
// 允许的文件格式
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "抱歉,只允许 JPG, JPEG, PNG & GIF 文件。";
$uploadOk = 0;
// 检查$uploadOk是否为0
if ($uploadOk == 0) {
echo "抱歉,文件未上传。";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "文件 ". htmlspecialchars(basename($_FILES["fileToUpload"]["name"])). " 已上传。";
} else {
echo "抱歉,上传文件时出错。";
7. API测试
7.1 简单API端点
php
header("Content-Type: application/json");
$data = array(
"name" => "John Doe",
"email" => "john@example.com",
"age" => 30
echo json_encode($data);
7.2 使用cURL测试API
php
$url = "http://example.com/api_endpoint.php";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
8. 错误处理测试
8.1 自定义错误处理
php
function customError($errno, $errstr) {
echo "错误:[$errno] $errstr";
// 设置错误处理函数
set_error_handler("customError");
// 触发错误
echo($test);
8.2 异常处理测试
php
function divide($dividend, $divisor) {
if($divisor == 0) {
throw new Exception("除数不能为零");
return $dividend / $divisor;
try {
echo divide(10, 0);
} catch(Exception $e) {
echo "捕获异常: " . $e->getMessage();
9. 安全测试
9.1 防止SQL注入
php
$pdo = new PDO('mysql:host=localhost;dbname=test', 'user', 'pass');
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email');
$stmt->execute(['email' => $email]);
$users = $stmt->fetchAll();
9.2 防止XSS攻击
php
$input = "alert('XSS攻击')";
$safe_output = htmlspecialchars($input, ENT_QUOTES, 'UTF-8');
echo $safe_output;
10. 性能测试
10.1 执行时间测试
php
$start_time = microtime(true);
// 测试代码
for ($i = 0; $i < 1000000; $i++) {
// 一些操作
$end_time = microtime(true);
$execution_time = ($end_time - $start_time);
echo "执行时间: " . $execution_time . " 秒";
10.2 内存使用测试
php
$start_memory = memory_get_usage();
// 测试代码
$array = range(1, 100000);
$end_memory = memory_get_usage();
$memory_usage = ($end_memory - $start_memory) / (1024 * 1024);
echo "内存使用: " . $memory_usage . " MB";
这些测试代码示例涵盖了PHP网站开发中的多个关键方面,包括基础功能、数据库操作、表单处理、单元测试、会话管理、文件上传、API开发、错误处理、安全防护以及性能测试。根据实际需求,你可以选择适合的代码片段进行测试和调整。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.