PHP Overview & Environment Setup
What PHP is and where it shines, PHP 8 engine basics, installing PHP with Composer, the request lifecycle, and writing your first HTTP endpoint.
What is PHP
PHP is a server-side scripting language built for the web: every request runs a fresh script, echoes HTML (or JSON) and dies. It powers roughly 75% of all websites with a known server language, including WordPress, Laravel ecosystems and countless internal systems.
- Best for: content sites, admin panels, APIs, rapid prototyping with huge hosting support.
- Modern PHP (8.x) is fast (JIT), strongly typed by opt-in, and has a mature package ecosystem via Composer.
Installing PHP and Composer
# Windows: 官网 zip 或用 winget
winget install PHP.PHP.8.3
winget install Composer.Composer
# macOS: brew
brew install php composer
# Ubuntu/Debian(ondrej PPA 保持最新版)
sudo add-apt-repository ppa:ondrej/php
sudo apt update && sudo apt install php8.3-cli php8.3-mbstring php8.3-xml
php -v # PHP 8.3.x (cli)
composer -V
Request Lifecycle
HTTP 请求
│
▼
Web 服务器(Nginx/Apache)
│ FastCGI 协议
▼
PHP-FPM 工作进程(常驻,按需 fork)
│ 执行 index.php
▼
引导框架 → 路由 → 控制器 → 响应
│
▼
HTTP 响应(进程内状态随请求结束而销毁)
Unlike long-running Node or Go servers, PHP traditionally frees all memory per request — no lingering connections or leaks across requests. PHP-FPM keeps worker processes warm so startup cost is amortized.
Your First Endpoint
<?php
// index.php —— 5 秒启动内置服务器:php -S 127.0.0.1:8080
header('Content-Type: application/json; charset=utf-8');
$name = $_GET['name'] ?? 'BackendWiki';
echo json_encode([
'message' => "Hello, {$name}",
'time' => date('c'),
], JSON_UNESCAPED_UNICODE);PHP 是什么
PHP 是为 Web 而生的服务端脚本语言:每个请求启动一个新脚本,输出 HTML(或 JSON)后结束。已知服务端语言的网站中约 75% 运行 PHP,包括 WordPress、Laravel 生态与无数内部系统。
- 最适合:内容站、后台管理系统、API、快速原型,且主机支持极其广泛。
- 现代 PHP(8.x)很快(JIT)、可选强类型,并通过 Composer 拥有成熟的包生态。
安装 PHP 与 Composer
# Windows: 官网 zip 或用 winget
winget install PHP.PHP.8.3
winget install Composer.Composer
# macOS: brew
brew install php composer
# Ubuntu/Debian(ondrej PPA 保持最新版)
sudo add-apt-repository ppa:ondrej/php
sudo apt update && sudo apt install php8.3-cli php8.3-mbstring php8.3-xml
php -v # PHP 8.3.x (cli)
composer -V
请求生命周期
HTTP 请求
│
▼
Web 服务器(Nginx/Apache)
│ FastCGI 协议
▼
PHP-FPM 工作进程(常驻,按需 fork)
│ 执行 index.php
▼
引导框架 → 路由 → 控制器 → 响应
│
▼
HTTP 响应(进程内状态随请求结束而销毁)
与常驻运行的 Node、Go 不同,传统 PHP 每个请求结束即释放全部内存——不存在跨请求的连接泄漏。PHP-FPM 保持工作进程常驻,把启动开销摊薄。
第一个接口
<?php
// index.php —— 5 秒启动内置服务器:php -S 127.0.0.1:8080
header('Content-Type: application/json; charset=utf-8');
$name = $_GET['name'] ?? 'BackendWiki';
echo json_encode([
'message' => "Hello, {$name}",
'time' => date('c'),
], JSON_UNESCAPED_UNICODE);