全面详尽的 PHP 环境搭建教程
目录
目录
PHP 环境搭建概述
在 Windows 上搭建 PHP 环境
使用集成环境 XAMPP
安装步骤
配置和测试
常用配置
手动安装 Apache、PHP 和 MySQL
安装 Apache
安装 PHP
安装 MySQL
配置 PHP 连接 MySQL
在 Linux 上搭建 PHP 环境
使用 LAMP 方案
安装 Apache
安装 MySQL 或 MariaDB
安装 PHP
配置 Apache
重启 Apache
测试 PHP
安装和配置 Nginx、PHP-FPM 和 MySQL
安装 Nginx
安装 PHP-FPM
配置 Nginx
测试 PHP
在 macOS 上搭建 PHP 环境
使用 MAMP 集成环境
安装 MAMP
配置和测试
使用 Homebrew 手动安装
安装 Homebrew
安装 Apache
安装 PHP
安装 MySQL
配置 Apache
测试 PHP
常见问题及解决方案
Apache 无法启动
PHP 脚本不执行,浏览器直接下载
MySQL 无法连接
权限问题
防火墙阻止访问
总结
参考资料
PHP(Hypertext Preprocessor)是一种广泛应用的开源脚本语言,特别适用于 Web 开发,并可嵌入 HTML 中。为了开始使用 PHP,首先需要在本地或服务器上搭建一个 PHP 运行环境。本教程将详细介绍如何在不同操作系统下搭建 PHP 开发环境,包括 Windows、Linux 和 macOS。我们将涵盖手动搭建和使用集成环境两种方式,并提供完整的配置步骤和注意事项,帮助您顺利完成环境搭建。
PHP 环境搭建概述
在开始编写 PHP 程序之前,需要搭建一个能运行 PHP 脚本的环境。通常,这个环境包括:
- Web 服务器:如 Apache、Nginx 等,用于处理 HTTP 请求。
- PHP 解析器:解释和运行 PHP 脚本。
- 数据库服务器:如 MySQL、MariaDB,用于存储和管理数据。
为了方便开发者,市面上有许多集成了以上组件的安装包,如 XAMPP、WAMP、MAMP 等,它们可以一次性安装所有必要的组件,节省配置时间。
在 Windows 上搭建 PHP 环境
使用集成环境 XAMPP
XAMPP 是一种易于安装的 Apache 发行版,包含 MariaDB、PHP 和 Perl,适用于 Windows、Linux 和 macOS。对于初学者和需要快速搭建环境的开发者来说,XAMPP 是一个理想的选择。
安装步骤
-
下载 XAMPP
访问 XAMPP 官方网站,下载适用于 Windows 的最新版本。
-
运行安装程序
双击下载的安装程序(如
xampp-windows-x64-8.0.0-0-VC15-installer.exe
),可能会出现用户账户控制(UAC)提示,点击“是”继续。 -
选择组件
在组件选择界面,可以选择需要安装的组件。默认情况下,Apache、MySQL、PHP 都会被选中。根据需求,可以添加或取消其他组件。
组件 描述 Apache Web 服务器 MySQL 数据库服务器 PHP PHP 解析器 phpMyAdmin MySQL 管理工具 FileZilla FTP FTP 服务器(可选) Tomcat Java 服务器(可选) -
选择安装目录
选择安装路径,建议安装在根目录下(如
C:\xampp
),避免权限问题。 -
完成安装
安装完成后,勾选“启动控制面板”选项,点击“完成”。
配置和测试
-
启动 Apache 和 MySQL
在 XAMPP 控制面板中,点击“Start”按钮启动 Apache 和 MySQL 服务。
-
测试 Apache
在浏览器中输入
http://localhost/
,如果看到 XAMPP 欢迎页面,说明 Apache 运行正常。 -
测试 PHP
创建一个测试文件:
-
在
C:\xampp\htdocs\
目录下,新建一个文件test.php
。 -
在文件中输入以下内容:
<?php phpinfo(); ?>
-
在浏览器中访问
http://localhost/test.php
,应显示 PHP 配置信息页面。
-
常用配置
-
更改 Apache 端口
如果端口 80 被占用,可以修改 Apache 的监听端口。
- 打开
C:\xampp\apache\conf\httpd.conf
。 - 将
Listen 80
改为Listen 8080
。 - 将
ServerName localhost:80
改为ServerName localhost:8080
。 - 重启 Apache 服务。
- 打开
-
配置虚拟主机
在开发多个项目时,可以配置虚拟主机方便管理。
-
编辑
C:\xampp\apache\conf\extra\httpd-vhosts.conf
,添加:<VirtualHost *:80>DocumentRoot "C:/xampp/htdocs/project1"ServerName project1.local </VirtualHost>
修改
C:\Windows\System32\drivers\etc\hosts
,添加:127.0.0.1 project1.local
-
手动安装 Apache、PHP 和 MySQL
对于需要更高控制度的开发者,可以手动安装和配置各个组件。
安装 Apache
-
下载 Apache
访问 Apache Lounge,下载适用于 Windows 的二进制版本。
-
解压安装
- 将下载的 ZIP 文件解压到
C:\Apache24
。
- 将下载的 ZIP 文件解压到
-
配置环境变量
- 将
C:\Apache24\bin
添加到系统环境变量PATH
中。
- 将
-
测试安装
- 打开命令提示符,输入
httpd -v
,应显示 Apache 版本信息。
- 打开命令提示符,输入
-
启动 Apache
-
以管理员身份运行命令提示符,输入:
httpd
-
安装 PHP
-
下载 PHP
访问 PHP 官方下载页面,选择适用于 Windows 的非线程安全(NTS)版本。
-
解压安装
- 将下载的 ZIP 文件解压到
C:\PHP
。
- 将下载的 ZIP 文件解压到
-
配置 PHP
-
将
php.ini-development
重命名为php.ini
。 -
编辑
php.ini
,设置extension_dir
:extension_dir = "C:\PHP\ext"
-
启用必要的扩展,如
mysqli
、pdo_mysql
等,去掉前面的分号:extension=mysqli
extension=pdo_mysql
-
-
配置 Apache 与 PHP 集成
-
编辑 Apache 的配置文件
C:\Apache24\conf\httpd.conf
,添加以下内容:LoadModule php_module "C:/PHP/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "C:/PHP" -
确保
DocumentRoot
指向您的项目目录。
-
-
测试 PHP
-
在
DocumentRoot
目录下创建index.php
,内容为:<?php echo "Hello, PHP!"; ?>
-
重启 Apache 服务,访问
http://localhost/
,应显示 "Hello, PHP!"。
-
安装 MySQL
-
下载 MySQL
访问 MySQL 官方下载页面,选择适用于 Windows 的 MSI 安装程序。
-
安装 MySQL
- 运行安装程序,选择“自定义”安装,按照提示完成安装。
- 配置 root 用户密码,记住该密码用于后续连接。
-
测试连接
-
打开命令提示符,输入:
mysql -u root -p
-
输入密码后,应进入 MySQL 命令行界面。
-
配置 PHP 连接 MySQL
-
在
php.ini
中确保已启用mysqli
和pdo_mysql
扩展。 -
重启 Apache 服务,测试 PHP 连接 MySQL:
<?php $conn = new mysqli("localhost", "root", "yourpassword"); if ($conn->connect_error) {die("连接失败: " . $conn->connect_error); } echo "连接成功"; ?>
在 Linux 上搭建 PHP 环境
Linux 是服务器最常用的操作系统之一,以下以 Ubuntu 为例介绍如何搭建 PHP 环境。
使用 LAMP 方案
LAMP 代表 Linux、Apache、MySQL/MariaDB、PHP 的组合,是经典的 Web 开发环境。
安装 Apache
sudo apt update sudo apt install apache2
安装 MySQL 或 MariaDB
安装 MySQL
sudo apt install mysql-server
安装 MariaDB
sudo apt install mariadb-server
安装 PHP
sudo apt install php libapache2-mod-php php-mysql
配置 Apache
-
设置 Apache 优先解析 PHP 文件
编辑
/etc/apache2/mods-enabled/dir.conf
,将index.php
放在第一位:<IfModule mod_dir.c>DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </IfModule>
-
启用必要的模块
sudo a2enmod php7.4 # 根据实际 PHP 版本
重启 Apache
sudo systemctl restart apache2
测试 PHP
-
创建测试文件
/var/www/html/info.php
,内容为:<?php phpinfo(); ?>
-
在浏览器中访问
http://your_server_ip/info.php
,应显示 PHP 配置信息页面。
安装和配置 Nginx、PHP-FPM 和 MySQL
Nginx 是高性能的 Web 服务器,搭配 PHP-FPM 可以提高 PHP 应用的性能。
安装 Nginx
sudo apt update sudo apt install nginx
安装 PHP-FPM
sudo apt install php-fpm php-mysql
配置 Nginx
-
编辑
/etc/nginx/sites-available/default
,修改服务器块:server {listen 80;server_name your_server_ip;root /var/www/html;index index.php index.html index.htm;location / {try_files $uri $uri/ =404;}location ~ \.php$ {include snippets/fastcgi-php.conf;fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据实际 PHP 版本}location ~ /\.ht {deny all;} }
-
测试 Nginx 配置:
sudo nginx -t
-
重启 Nginx:
sudo systemctl restart nginx
测试 PHP
- 创建测试文件
/var/www/html/info.php
,内容同上。 - 访问
http://your_server_ip/info.php
,应显示 PHP 信息。
在 macOS 上搭建 PHP 环境
使用 MAMP 集成环境
MAMP(Macintosh, Apache, MySQL, PHP)是专为 macOS 设计的集成环境。
安装 MAMP
-
下载 MAMP
访问 MAMP 官方网站,下载最新版本的 MAMP。
-
安装 MAMP
- 双击下载的 DMG 文件,按照提示拖动 MAMP 到“应用程序”文件夹。
-
启动 MAMP
- 进入“应用程序”文件夹,打开 MAMP。
- 点击“Start Servers”启动 Apache 和 MySQL。
配置和测试
-
测试 Apache 和 PHP
- 访问
http://localhost:8888/
,应看到 MAMP 欢迎页面。 - 默认的 Web 根目录是
/Applications/MAMP/htdocs
。
- 访问
-
测试 PHP
-
在
htdocs
目录下创建test.php
,内容为:<?php phpinfo(); ?>
-
访问
http://localhost:8888/test.php
,应显示 PHP 信息。
-
使用 Homebrew 手动安装
Homebrew 是 macOS 上的包管理器,可以方便地安装 Apache、PHP 和 MySQL。
安装 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装 Apache
brew install httpd
-
启动 Apache:
sudo brew services start httpd
安装 PHP
brew install php
-
启动 PHP-FPM:
brew services start php
安装 MySQL
brew install mysql
-
启动 MySQL:
brew services start mysql
配置 Apache
-
编辑
/usr/local/etc/httpd/httpd.conf
,添加或修改以下内容:-
加载 PHP 模块:
LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so
-
设置
DirectoryIndex
:DirectoryIndex index.php index.html
-
配置 PHP 文件的处理:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
-
-
重启 Apache:
sudo brew services restart httpd
测试 PHP
-
在
/usr/local/var/www
目录下创建index.php
,内容为:<?php echo "Hello, PHP on macOS!"; ?>
-
访问
http://localhost:8080/
,应显示 "Hello, PHP on macOS!"。
常见问题及解决方案
Apache 无法启动
-
端口被占用
检查是否有其他服务占用了端口 80 或 8080。
sudo lsof -i :80
解决方案:更改 Apache 的监听端口,或停止占用端口的服务。
PHP 脚本不执行,浏览器直接下载
-
未配置 PHP 处理
确认 Web 服务器已正确配置 PHP 模块。
解决方案:按照上述步骤,确保 Apache 或 Nginx 已加载 PHP 模块或已配置 PHP-FPM。
MySQL 无法连接
-
密码错误
检查连接时使用的用户名和密码是否正确。
-
服务未启动
确认 MySQL 服务已启动。
sudo systemctl status mysql
权限问题
-
文件权限不足
确保 Web 根目录和 PHP 文件具有正确的权限。
sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html
防火墙阻止访问
-
检查防火墙设置
确保服务器的防火墙允许 HTTP 和 HTTPS 流量。
sudo ufw allow 'Apache Full'
总结
搭建 PHP 开发环境是开始 PHP 编程的第一步。无论您使用的是 Windows、Linux 还是 macOS,本教程都提供了详细的步骤和注意事项,帮助您顺利完成环境配置。
- Windows 用户:可以选择使用 XAMPP 这样的集成环境,快速搭建开发环境;也可以手动安装 Apache、PHP 和 MySQL,获得更高的灵活性。
- Linux 用户:LAMP 方案是经典的选择,或者使用 Nginx 和 PHP-FPM 提升性能。
- macOS 用户:MAMP 提供了方便的集成环境;通过 Homebrew 手动安装则能更好地掌控配置。
在实际开发中,可能会遇到各种问题,本教程也提供了一些常见问题的解决方案。希望本教程能帮助您顺利搭建 PHP 开发环境,开启您的 PHP 编程之旅。
参考资料
- PHP 官方文档
- Apache 官方文档
- MySQL 官方文档
- XAMPP 官方网站
- MAMP 官方网站
- Homebrew 官方网站
相关文章:

全面详尽的 PHP 环境搭建教程
目录 目录 PHP 环境搭建概述 在 Windows 上搭建 PHP 环境 使用集成环境 XAMPP 安装步骤 配置和测试 常用配置 手动安装 Apache、PHP 和 MySQL 安装 Apache 安装 PHP 安装 MySQL 配置 PHP 连接 MySQL 在 Linux 上搭建 PHP 环境 使用 LAMP 方案 安装 Apache 安装 …...

fiddler抓包06_抓取https请求(chrome)
课程大纲 首次安装Fiddler,抓https请求,除打开抓包功能(F12)还需要: ① Fiddler开启https抓包 ② Fiddler导出证书; ③ 浏览器导入证书。 否则,无法访问https网站(如下图࿰…...

【在Linux世界中追寻伟大的One Piece】网络命令|验证UDP
目录 1 -> Ping命令 2 -> Netstat命令 3 -> Pidof命令 4 -> 验证UDP-Windows作为client访问Linux 4.1 -> UDP client样例 1 -> Ping命令 Ping命令是一种网络诊断工具,它使用ICMP(Internet Control Message Protocol,互联网控制消…...

qt-C++笔记之Q_DECLARE_METATYPE和qRegisterMetaType
qt-C笔记之Q_DECLARE_METATYPE和qRegisterMetaType code review! 文章目录 qt-C笔记之Q_DECLARE_METATYPE和qRegisterMetaType一.Q_DECLARE_METATYPE使用方法应用场景 二.为什么需要注册类型?三.使用 Q_DECLARE_METATYPE 处理自定义类型的简短示例3.1.自定义类型定…...

Shader 中的光源
1、Shader 开发中常用的光源属性 Unity当中一共支持四种光源类型: 平行光(Directional)点光源(Point)聚光灯(Spot)面光源(Area)— 面光源仅在烘焙时有用 不管光源类型到…...
【django】局域网访问django启动的项目
目录 一、现象 二、django的settings.py配置 三、启动django项目 四、获取本机IP 五、局域网机器访问 前言:本机使用pycharm启动的项目,局域网其他机器访问 一、现象 django开发了接口,想给其他同志访问接口测试,无法通过I…...

【计算机组成原理】主存储器深度解析
📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…...
docker在基础镜像上,比如rockylinux,如何配置yum仓库
在基础镜像rockylinux上 启动的容器,没有yum仓库,就执行不了一些命令 ~]docker run -itd --name linux rockylinux:8.5~]# docker exec -it linux bash /]# ifconfig bash: ifconfig: command not found/]# vim bash: vim: command not found …...
libtorch落地AI项目的一些总结
总结 1. 为啥C 写AI C 是一个非常强大的编程语言,它具有非常强大的计算能力,可以处理非常大的数据集,并且可以非常快速地完成计算。很多项目需要嵌入式部署,C 是一个非常适合的编程语言。C 可以非常快速地完成计算,并…...

ffmpeg面向对象——参数配置秘密探索及其设计模式
目录概览 0.参数配置对象流程图0.1 用到的设计模式0.2 与朴素思想的对比 1.参数传递部分1.1 AVDictionary字典容器类1.1.1 类定义及类图1.1.2 构造函数1.1.3 析构函数1.1.4 设置/读取等配置参数 1.2 参数配置实例 2.参数配置生效部分2.1参数过滤模块2.1.1 AVOption类2.1.1.1 类…...

华为eNSP使用详解
eNSP(Enterprise Network Simulation Platform)是华为提供的一款网络仿真平台,它允许用户在没有真实设备的情况下进行网络实验和学习网络技术。eNSP可以模拟各种网络设备,如交换机、路由器、防火墙等,并支持创建多种网…...

一文入门生成式AI(理解ChatGPT的原理)
一、什么是生成式AI? 以ChatGPT为代表的生成式AI,是对已有的数据和知识进行向量化的归纳,总结出数据的联合概率。从而在生成内容时,根据用户需求,结合关联字词的概率,生成新的内容。 可以这么联想&#x…...
C# 中Faker
在 C# 中,Faker 类通常用于生成模拟数据(也称为虚拟数据、测试数据),这对于开发、测试以及演示应用程序非常有用。一个流行的库叫做 Faker,它提供了一种简单的方式来生成各种随机数据。 安装 Faker 库 要使用 Faker …...

数据权限的设计与实现系列9——前端筛选器组件Everright-filter集成框架开发2
功能实现 规则转换为 SQL 片段 规则解析 首先我们来构造一个典型的规则,包括两个条件组,每个组由两个条件组成,由且与或两种逻辑关系,如下图: 然后看看生成的规则,如下: {"filt…...

鸿蒙Harmony-Next 徒手撸一个日历控件
本文将介绍如何使用鸿蒙Harmony-Next框架实现一个自定义的日历控件。我们将创建一个名为CalendarView的组件(注意,这里不能叫 Calendar因为系统的日历叫这个),它具有以下功能: 显示当前月份的日历支持选择日期显示农历日期可以切换上一月和下一月 组件…...
直播音频解决方案
音频解决方案公司具体解决的是什么样的问题?什么样的客户需要找音频方案公司?相信还是有很多人不是很了解。音频解决方案公司工作就像是为音频设备“量身定制衣服”,帮助客户解决各种音频相关的问题。无论你是音响制造商、会议设备商、耳机品…...
Git基本用法总结
设置全局用户名 git config --global user.name xxx #设置全局用户名 设置全局邮箱地址 git config --global user.email xxxxxx.com #设置全局邮箱地址 查看所有的 Git 配置,包括用户信息 git config --list #查看所有的 Git 配置,包括用户信…...
SQLite的入门级项目学习记录(四)
性能评估和测试 规划项目 1、框架选择:前端交互和线程控制用pyside,SQLite作为数据库支持。 2、预估数据量:每秒10个数据,每个月约26000000(26M)条。 3、压力测试:首先用python脚本创建一个数据…...
Docker工作目录迁移
文章目录 前言一、迁移步骤1.停掉docker服务2.创建存储目录3.迁移docker数据4.备份5.添加软链接6.重启docker服务,测试 总结 前言 安装docker,默认的情况容器的默认存储路径会存储系统盘的 /var/lib/docker 目录下,系统盘一般默认 50G&#…...

【多维动态规划】64. 最小路径和(面试真题+面试官调整后的题目)
64. 最小路径和 难度:中等 力扣地址:https://leetcode.cn/problems/minimum-path-sum/description/ 1. 原题以及解法 1.1 题目 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...