PHP介绍与环境搭建
什么是PHP?
PHP(PHP: Hypertext Preprocessor)是一种广泛使用的开源脚本语言,特别适合Web开发。PHP代码可以嵌入到HTML中,在服务器端执行,生成动态网页内容。
PHP的历史
- 1994年:Rasmus Lerdorf创建PHP/FI
- 1997年:PHP 3.0发布,重写核心
- 2000年:PHP 4.0发布,引入Zend引擎
- 2004年:PHP 5.0发布,增强面向对象
- 2015年:PHP 7.0发布,性能大幅提升
- 2020年:PHP 8.0发布,引入JIT编译
- 2023年:PHP 8.3发布,持续优化
PHP的特点
1. 简单易学
<?php
// 第一个PHP程序
echo "Hello, World!";
?>
2. 跨平台
- Windows、Linux、macOS
- 各种Web服务器(Apache、Nginx、IIS)
- 多种数据库支持
3. 开源免费
<?php
// PHP是完全免费的开源语言
// 拥有庞大的社区支持
?>
4. 丰富的功能
- 内置大量函数库
- 强大的字符串处理
- 完善的数据库支持
- 丰富的扩展模块
5. 快速开发
<?php
// 连接数据库并查询数据
$pdo = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$stmt = $pdo->query('SELECT * FROM users');
while ($row = $stmt->fetch()) {
echo $row['name'] . '<br>';
}
?>
PHP的应用领域
1. Web开发
<?php
// 动态网站开发
// 内容管理系统
// 电子商务网站
// 社交网络平台
?>
知名PHP网站:
- Facebook(早期)
- Wikipedia
- WordPress
- Drupal
2. API开发
<?php
header('Content-Type: application/json');
$data = [
'status' => 'success',
'message' => 'API响应成功',
'data' => ['id' => 1, 'name' => '用户1']
];
echo json_encode($data);
?>
3. 命令行脚本
#!/usr/bin/php
<?php
// 命令行脚本
echo "这是一个命令行PHP脚本\n";
// 处理命令行参数
if ($argc > 1) {
echo "参数: " . $argv[1] . "\n";
}
?>
4. 桌面应用
<?php
// 使用PHP-GTK开发桌面应用
// 虽然不常见,但是可行的
?>
开发环境搭建
1. 集成环境(推荐新手)
XAMPP
# Windows/macOS/Linux
# 包含Apache + MySQL + PHP + phpMyAdmin
# 一键安装,简单易用
# 下载地址
https://www.apachefriends.org/
WAMP(Windows)
# Windows + Apache + MySQL + PHP
# 专为Windows设计
# 界面友好,配置简单
# 下载地址
http://www.wampserver.com/
MAMP(macOS)
# macOS + Apache + MySQL + PHP
# 专为macOS设计
# 免费版和专业版
# 下载地址
https://www.mamp.info/
2. 手动安装
Windows安装
# 1. 下载PHP
https://windows.php.net/download/
# 2. 解压到目录
C:\php\
# 3. 配置环境变量
# 将C:\php添加到PATH
# 4. 配置php.ini
copy php.ini-development php.ini
# 5. 测试安装
php -v
Linux安装
# Ubuntu/Debian
sudo apt update
sudo apt install php php-cli php-mysql php-curl php-json
# CentOS/RHEL
sudo yum install php php-cli php-mysql php-curl php-json
# 或使用dnf
sudo dnf install php php-cli php-mysql php-curl php-json
# 验证安装
php -v
macOS安装
# 使用Homebrew
brew install php
# 或使用MacPorts
sudo port install php81
# 验证安装
php -v
3. Docker安装
# 拉取PHP镜像
docker pull php:8.3-apache
# 运行容器
docker run -d -p 80:80 -v $(pwd):/var/www/html php:8.3-apache
# 或使用docker-compose
version: '3.8'
services:
php:
image: php:8.3-apache
ports:
- "80:80"
volumes:
- ./src:/var/www/html
开发工具选择
1. 专业IDE
PhpStorm
<?php
// JetBrains开发的专业PHP IDE
// 智能代码补全
// 强大的调试功能
// 版本控制集成
// 付费软件,功能最强大
?>
Eclipse PDT
<?php
// 免费的PHP开发工具
// 基于Eclipse平台
// 插件丰富
// 适合大型项目开发
?>
2. 轻量级编辑器
Visual Studio Code
<?php
// 微软开发的免费编辑器
// 丰富的PHP扩展
// 轻量级,启动快速
// 强大的插件生态
?>
推荐扩展:
- PHP Intelephense
- PHP Debug
- PHP DocBlocker
- Prettier
Sublime Text
<?php
// 轻量级文本编辑器
// 启动速度极快
// 强大的插件系统
// 付费软件,有试用期
?>
3. 在线编辑器
<?php
// 适合学习和测试
// 无需本地环境
// 即时运行代码
?>
推荐平台:
- PHP Sandbox
- 3v4l.org
- CodePen(支持PHP)
- Repl.it
第一个PHP程序
1. 基础语法
<?php
// PHP开始标签
echo "Hello, World!";
// PHP结束标签可以省略
?>
2. 嵌入HTML
<!DOCTYPE html>
<html>
<head>
<title>我的第一个PHP页面</title>
</head>
<body>
<h1><?php echo "欢迎学习PHP!"; ?></h1>
<p>当前时间:<?php echo date('Y-m-d H:i:s'); ?></p>
</body>
</html>
3. 变量和数据类型
<?php
// 变量定义
$name = "张三";
$age = 25;
$height = 175.5;
$is_student = true;
// 输出变量
echo "姓名:" . $name . "<br>";
echo "年龄:" . $age . "<br>";
echo "身高:" . $height . "cm<br>";
echo "是否学生:" . ($is_student ? "是" : "否") . "<br>";
?>
4. 数组操作
<?php
// 索引数组
$fruits = ["苹果", "香蕉", "橙子"];
echo "第一个水果:" . $fruits[0] . "<br>";
// 关联数组
$person = [
"name" => "李四",
"age" => 30,
"city" => "北京"
];
echo "姓名:" . $person["name"] . "<br>";
// 遍历数组
foreach ($fruits as $fruit) {
echo "水果:" . $fruit . "<br>";
}
?>
5. 函数定义
<?php
// 定义函数
function greet($name) {
return "你好," . $name . "!";
}
// 调用函数
echo greet("世界");
// 带默认参数的函数
function calculate($a, $b, $operation = "add") {
switch ($operation) {
case "add":
return $a + $b;
case "subtract":
return $a - $b;
case "multiply":
return $a * $b;
case "divide":
return $b != 0 ? $a / $b : "除数不能为零";
default:
return "未知操作";
}
}
echo "<br>5 + 3 = " . calculate(5, 3);
echo "<br>5 - 3 = " . calculate(5, 3, "subtract");
?>
配置文件详解
php.ini重要配置
; 错误报告
error_reporting = E_ALL
display_errors = On
; 内存限制
memory_limit = 128M
; 执行时间限制
max_execution_time = 30
; 文件上传
file_uploads = On
upload_max_filesize = 2M
post_max_size = 8M
; 时区设置
date.timezone = Asia/Shanghai
; 扩展模块
extension=mysqli
extension=pdo_mysql
extension=curl
extension=gd
常见问题解决
1. PHP版本检查
<?php
echo "PHP版本:" . PHP_VERSION . "<br>";
echo "操作系统:" . PHP_OS . "<br>";
phpinfo(); // 显示详细信息
?>
2. 扩展检查
<?php
// 检查扩展是否安装
if (extension_loaded('mysqli')) {
echo "MySQL扩展已安装<br>";
} else {
echo "MySQL扩展未安装<br>";
}
// 列出所有已安装的扩展
print_r(get_loaded_extensions());
?>
3. 错误调试
<?php
// 开启错误显示
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
// 自定义错误处理
function customError($errno, $errstr) {
echo "<b>错误:</b> [$errno] $errstr<br>";
}
set_error_handler("customError");
?>
学习建议
1. 学习路径
- 基础语法:变量、数据类型、运算符
- 控制结构:条件语句、循环语句
- 函数:内置函数、自定义函数
- 数组:索引数组、关联数组
- 字符串:字符串处理函数
- 文件操作:文件读写、目录操作
- 数据库:MySQL连接和操作
- 面向对象:类、对象、继承
- 错误处理:异常处理机制
- 实战项目:完整Web应用开发
2. 实践建议
- 每天编写代码练习
- 阅读优秀的开源项目
- 参与PHP社区讨论
- 关注PHP最新发展
3. 学习资源
- 官方文档:https://www.php.net/manual/zh/
- 在线教程:菜鸟教程、W3School
- 视频课程:慕课网、极客时间
- 书籍推荐:《PHP和MySQL Web开发》
总结
PHP是一门优秀的Web开发语言:
- 简单易学:语法简洁,上手容易
- 功能强大:丰富的内置函数和扩展
- 社区活跃:大量的学习资源和技术支持
- 应用广泛:从小型网站到大型应用
- 持续发展:版本不断更新,性能持续提升
掌握PHP将为你的Web开发之路打下坚实的基础。
下一课预告
在下一课中,我们将学习PHP的基础语法,包括:
- 变量和常量
- 数据类型详解
- 运算符使用
- 注释规范
💡 小贴士:学习编程最重要的是多练习。建议每学完一个知识点就立即编写代码验证,这样能更好地理解和记忆。
📚 文章对你有帮助?请关注我的公众号,万分感谢!
获取更多优质技术文章,第一时间掌握最新技术动态

关注公众号
第一时间获取最新技术文章

添加微信
技术交流 · 问题答疑 · 学习指导
评论讨论
欢迎留下你的想法和建议