← 返回目录

第一章:环境安装

安装 PHP 8.4,配置开发环境

1. 安装 PHP 8.4

PHP 8.4 是当前最新的稳定版本,支持所有主流操作系统。根据你的平台选择对应的安装方式。

macOS(Homebrew)

macOS 推荐使用 Homebrew 安装,一条命令搞定:

# 安装 Homebrew(如果尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装 PHP 8.4
brew install php

# 确认版本
php -v

提示:Homebrew 默认安装最新稳定版。如果系统中已有旧版 PHP,Homebrew 会自动将新版设为默认。

Ubuntu / Debian

Ubuntu 默认源可能不含最新版,推荐添加 ppa:ondrej/php 源:

# 添加 PHP PPA 源
sudo add-apt-repository ppa:ondrej/php
sudo apt update

# 安装 PHP 8.4 及常用扩展
sudo apt install php8.4 php8.4-cli php8.4-common php8.4-curl php8.4-mbstring php8.4-xml php8.4-zip

# 确认版本
php -v

Windows

Windows 有多种安装方式:

# 方式一:使用 Scoop(推荐)
scoop install php

# 方式二:使用 Chocolatey
choco install php

# 方式三:手动下载
# 从 https://windows.php.net/download/ 下载 VS17 x64 Non Thread Safe 版本
# 解压到 C:\php,将 C:\php 添加到系统 PATH 环境变量

验证安装

无论哪个平台,安装完成后都应该能看到类似输出:

$ php -v
PHP 8.4.0 (cli) (built: Nov 21 2024 10:30:05) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.0, Copyright (c), by Zend Technologies

🔄 对比其他语言

Python 用 python3 --version,Node.js 用 node -v,Java 用 java --version。PHP 的版本检查命令是 php -v,风格一致。

2. php.ini 配置

php.ini 是 PHP 的核心配置文件,控制着运行时的各种行为。先找到它的位置:

# 查看加载的配置文件
php --ini

# 输出示例:
# Configuration File (php.ini) Path: /etc/php/8.4/cli
# Loaded Configuration File: /etc/php/8.4/cli/php.ini
# Scan for additional .ini files in: /etc/php/8.4/cli/conf.d

也可以用 php -i | grep "php.ini" 快速定位。以下是开发环境中最常调整的配置项:

配置项 推荐值(开发环境) 说明
display_errors On 在页面中显示错误信息(生产环境务必关闭)
error_reporting E_ALL 报告所有级别的错误,开发时建议开启
date.timezone Asia/Shanghai 默认时区,避免日期函数警告
memory_limit 256M 单个脚本最大内存,Composer 操作可能需要更多
upload_max_filesize 20M 允许上传的最大文件大小
post_max_size 25M POST 请求最大数据量,应大于 upload_max_filesize
max_execution_time 30 脚本最大执行时间(秒),0 表示不限制

示例:在 php.ini 中设置开发环境配置:

; 开发环境推荐配置
display_errors = On
error_reporting = E_ALL
date.timezone = Asia/Shanghai
memory_limit = 256M
upload_max_filesize = 20M
post_max_size = 25M
max_execution_time = 30

注意:修改 php.ini 后需要重启 PHP 或 Web 服务器才能生效。CLI 模式下每次执行都会重新读取配置。

3. 内置开发服务器

PHP 自带一个轻量级开发服务器,无需安装 Apache 或 Nginx 就能快速测试代码。非常适合开发和学习阶段。

先创建一个简单的 index.php 文件:

<?php
echo "Hello, PHP 8.4!";

然后在同一目录下启动开发服务器:

# 启动内置开发服务器
php -S localhost:8000

# 指定文档根目录
php -S localhost:8000 -t public/

# 输出示例:
# [Tue Mar 31 10:00:00 2026] PHP 8.4.0 Development Server started
# Listening on http://localhost:8000
# Press Ctrl-C to quit.

浏览器访问 http://localhost:8000 即可看到输出。也可以用一个更完整的测试页面:

<?php
// info.php - 查看完整的 PHP 配置信息
phpinfo();

⚠️ 仅限开发使用:内置服务器是单线程的,不支持并发请求,不能用于生产环境。生产环境请使用 Nginx + PHP-FPM 或 Apache + mod_php。

🔄 与 Python 内置服务器对比

PHP php -S localhost:8000 — 会解析执行 .php 文件
Python python -m http.server 8000 — 仅提供静态文件服务

PHP 的内置服务器功能更强,可以直接处理动态请求,无需额外框架。

4. 安装 Composer

Composer 是 PHP 的依赖管理工具,地位相当于 Node.js 的 npm、Python 的 pip、Java 的 Maven。几乎所有现代 PHP 项目都依赖它。

安装 Composer

# macOS / Linux
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

# 或通过 Homebrew(macOS)
brew install composer

# Windows(使用 Scoop)
scoop install composer

# 验证安装
composer --version

初始化项目

# 在项目目录中初始化
mkdir my-php-project && cd my-php-project
composer init

这会引导你创建 composer.json,它是项目的依赖配置文件:

{
    "name": "yourname/my-php-project",
    "description": "我的 PHP 项目",
    "type": "project",
    "require": {
        "php": ">=8.4"
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    }
}

安装依赖

# 安装一个包(例如 HTTP 客户端 Guzzle)
composer require guzzlehttp/guzzle

# 安装开发依赖(例如 PHPUnit 测试框架)
composer require --dev phpunit/phpunit

# 安装 composer.json 中定义的所有依赖
composer install

使用自动加载

Composer 提供自动加载机制,只需引入一行就能使用所有已安装的包:

<?php
// 引入 Composer 自动加载文件(所有项目的入口都需要这一行)
require __DIR__ . '/vendor/autoload.php';

// 现在可以直接使用任何已安装的包
use GuzzleHttp\Client;

$client = new Client();
$response = $client->get('https://api.github.com');
echo $response->getBody();

🔄 包管理器对比

语言 工具 配置文件 锁文件
PHP Composer composer.json composer.lock
Node.js npm package.json package-lock.json
Python pip requirements.txt
Java Maven pom.xml

提示:vendor/ 目录包含所有下载的依赖,应加入 .gitignore。团队协作时只需提交 composer.jsoncomposer.lock,其他人运行 composer install 即可还原。

5. Hello World

让我们写一个稍微完整的 PHP 脚本,了解基本语法要素:

<?php
// hello.php - 第一个 PHP 脚本

// 变量以 $ 开头,无需声明类型
$name = "PHP";
$version = 8.4;
$features = ["类型声明", "枚举", "纤程", "属性钩子"];

// echo 输出内容,双引号支持变量插值
echo "Hello, {$name} {$version}!\n";

// 字符串拼接用 .(不是 +)
echo "当前版本:" . $name . " " . $version . "\n";

// 遍历数组
echo "PHP 8.x 新特性:\n";
foreach ($features as $index => $feature) {
    echo "  " . ($index + 1) . ". {$feature}\n";
}

// 简单函数
function greet(string $who): string {
    return "欢迎学习 {$who}!";
}

echo greet("PHP 8.4") . "\n";

保存后在命令行运行:

$ php hello.php
Hello, PHP 8.4!
当前版本:PHP 8.4
PHP 8.x 新特性:
  1. 类型声明
  2. 枚举
  3. 纤程
  4. 属性钩子
欢迎学习 PHP 8.4!

语法要点速记:

  • • PHP 代码必须以 <?php 开头
  • • 变量以 $ 开头,区分大小写
  • • 每条语句以 ; 结尾
  • • 字符串拼接用 .,不是 +
  • • 双引号支持变量插值 "Hello, {$name}",单引号不支持

🔄 运行方式对比

PHP php hello.php
Python python hello.py
Node.js node hello.js
Java javac Hello.java && java Hello

PHP 和 Python 一样是解释型语言,无需编译,直接运行。

6. VS Code 配置

VS Code 是 PHP 开发的主流编辑器之一。安装以下扩展可以获得接近 IDE 的开发体验:

🧠

PHP Intelephense

高性能 PHP 语言服务器,提供智能补全、类型推断、跳转定义、重构等功能。

bmewburn.vscode-intelephense-client
🐛

PHP Debug

Xdebug 调试适配器,支持断点调试、变量查看、调用栈追踪。

xdebug.php-debug

PHP CS Fixer

代码格式化工具,自动修复代码风格,保持团队一致的编码规范。

junstyle.php-cs-fixer

在 VS Code 中快速安装:按 Ctrl+Shift+X(macOS: Cmd+Shift+X)打开扩展面板,搜索扩展名安装。

推荐在项目中添加 .vscode/settings.json

{
    "php.validate.executablePath": "/usr/local/bin/php",
    "editor.formatOnSave": true,
    "[php]": {
        "editor.defaultFormatter": "junstyle.php-cs-fixer"
    },
    "intelephense.environment.phpVersion": "8.4.0"
}

调试配置:使用 PHP Debug 扩展前需要安装 Xdebug 扩展。可以通过 pecl install xdebug 安装,然后在 php.ini 中添加 zend_extension=xdebug 启用。

7. 本章要点

🛠️ 安装 PHP

macOS 用 brew install php,Ubuntu 用 apt install php8.4,Windows 用 Scoop 或手动下载。用 php -v 验证。

⚙️ 配置 php.ini

php --ini 找到配置文件,开发环境开启 display_errorsE_ALL 报错,设置正确的时区。

🖥️ 内置服务器

php -S localhost:8000 快速启动开发服务器,适合学习和调试,不适合生产环境。

📦 Composer

PHP 的包管理器。composer init 创建项目,composer require 安装依赖,require 'vendor/autoload.php' 启用自动加载。

📝 基本语法

<?php 开头,变量用 $ 前缀,语句以 ; 结尾,字符串拼接用 .,双引号支持变量插值。

💻 开发工具

VS Code + Intelephense 提供智能补全,PHP Debug + Xdebug 支持断点调试,PHP CS Fixer 统一代码风格。