步骤1:设置数据库连接
你需要创建一个数据库配置文件,以便在脚本中引用,假设你的数据库是MySQL,你可以创建一个名为config.php
的文件来存储数据库连接信息。
// config.php <?php $host = 'localhost'; $db = 'your_database_name'; $user = 'your_database_username'; $pass = 'your_database_password'; $charset = 'utf8mb4'; $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ];
步骤2:创建主脚本文件
创建一个名为server.php
的主脚本文件,它将处理所有传入的HTTP请求。
<?php require 'config.php'; try { $pdo = new PDO($dsn, $user, $pass, $options); } catch (PDOException $e) { throw new PDOException($e->getMessage(), (int)$e->getCode()); } // 检查请求方法 $requestMethod = $_SERVER['REQUEST_METHOD']; if ($requestMethod !== 'GET' && $requestMethod !== 'POST') { http_response_code(405); // Method Not Allowed echo json_encode(['error' => 'Method not allowed']); exit; } // 根据不同请求方法处理逻辑 if ($requestMethod === 'GET') { handleGetRequest($pdo); } elseif ($requestMethod === 'POST') { handlePostRequest($pdo); } function handleGetRequest($pdo) { // 示例:获取用户列表 try { $stmt = $pdo->query("SELECT * FROM users"); $users = $stmt->fetchAll(); echo json_encode($users); } catch (PDOException $e) { http_response_code(500); // Internal Server Error echo json_encode(['error' => 'Database error: ' . $e->getMessage()]); } } function handlePostRequest($pdo) { // 示例:创建新用户 $data = json_decode(file_get_contents('php://input'), true); if (!isset($data['name'], $data['email'])) { http_response_code(400); // Bad Request echo json_encode(['error' => 'Invalid input']); return; } $stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (?, ?)"); try { $stmt->execute([$data['name'], $data['email']]); echo json_encode(['message' => 'User created successfully']); } catch (PDOException $e) { http_response_code(500); // Internal Server Error echo json_encode(['error' => 'Database error: ' . $e->getMessage()]); } } ?>
步骤3:配置虚拟主机(可选)
如果你使用的是Apache或Nginx作为Web服务器,你可能需要配置虚拟主机以正确处理PHP文件,以下是一个简单的Apache配置示例:
<VirtualHost *:80> ServerName yourdomain.com DocumentRoot /path/to/your/project <Directory /path/to/your/project> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
步骤4:测试脚本
确保你已经启动了Web服务器和数据库服务,然后通过浏览器或API客户端工具(如Postman)访问你的PHP脚本,访问http://yourdomain.com/server.php
来测试GET请求,或者使用POST请求向同一URL发送数据来测试POST请求。
各位小伙伴们,我刚刚为大家分享了有关“服务器写php”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/654456.html