0

0

如何在Windows上搭建PHP环境 Windows下PHP环境安装教程

看不見的法師

看不見的法師

发布时间:2025-07-19 17:07:01

|

800人浏览过

|

来源于php中文网

原创

搭建php环境可使用集成包或手动安装。1.集成环境包(如xampp)适合新手,一键安装php、apachemysql,省时省力;2.手动安装适合有经验者,需依次安装php、配置php.ini、启用扩展、设置环境变量,安装apache并配置php支持,安装mysql,测试环境;3.解决端口冲突可通过netstat命令和任务管理器查杀占用80端口的进程如iis、skype,或修改apache监听端口;4.配置虚拟主机需启用vhosts文件,设置多个virtualhost并绑定不同域名和目录,修改hosts文件指向本地ip,重启apache生效。

如何在Windows上搭建PHP环境 Windows下PHP环境安装教程

在Windows上搭建PHP环境,简单来说,你需要安装PHP解释器、Web服务器(比如Apache或Nginx)以及数据库(比如MySQL)。它们就像一个乐队,PHP负责演奏,Web服务器负责舞台,数据库负责存放乐谱。

如何在Windows上搭建PHP环境 Windows下PHP环境安装教程

解决方案

  1. 选择集成环境包:

    立即学习PHP免费学习笔记(深入)”;

    如何在Windows上搭建PHP环境 Windows下PHP环境安装教程

    最简单的方法是使用集成环境包,比如XAMPP、WampServer或EasyPHP。这些工具已经打包好了PHP、Apache、MySQL等,一键安装,省时省力。我个人更倾向于XAMPP,因为它跨平台,而且配置起来也相对简单。下载安装后,启动Apache和MySQL服务即可。

    当然,如果你想更深入地了解每个组件,或者有特殊需求,也可以选择手动安装。

    如何在Windows上搭建PHP环境 Windows下PHP环境安装教程
  2. 手动安装PHP:

    • 前往PHP官网(php.net)下载对应Windows版本的PHP。注意选择Thread Safe (TS) 版本,这个版本更适合在Web服务器中使用。
    • 解压下载的PHP压缩包到你喜欢的目录,比如C:\php
    • 配置PHP:复制php.ini-development文件到同目录下,并重命名为php.ini。打开php.ini,找到; extension_dir = "ext",去掉前面的分号,并修改为extension_dir = "C:\php\ext" (改成你实际的PHP安装路径)。
    • 启用需要的扩展:在php.ini中搜索你需要启用的扩展,比如extension=mysqli,去掉前面的分号。常用的扩展还有extension=gdextension=curl等。
    • 配置环境变量:将PHP的安装目录添加到系统的Path环境变量中。这样你就可以在命令行中直接运行php命令了。
  3. 安装Web服务器(Apache):

    • 从Apache官网(apache.org)下载Apache的Windows版本。

    • 解压Apache压缩包到你喜欢的目录,比如C:\Apache24

    • 配置Apache:打开C:\Apache24\conf\httpd.conf文件。

      • 修改ServerRoot为你的Apache安装目录。

      • 修改Listen 80为你想监听的端口,如果80端口被占用,可以改成其他端口,比如8080。

      • 找到DocumentRoot<Directory>,修改为你的网站根目录,比如C:\Apache24\htdocs

      • 配置PHP支持:在httpd.conf中添加以下内容:

        LoadModule php7_module "C:/php/php7apache2_4.dll"  # 替换成你实际的PHP模块路径
        <FilesMatch \.php$>
            SetHandler application/x-httpd-php
        </FilesMatch>
        PHPIniDir "C:/php" # 替换成你实际的PHP安装路径
    • 启动Apache:在命令行中运行C:\Apache24\bin\httpd.exe。如果一切顺利,你就可以在浏览器中输入http://localhosthttp://localhost:8080 (如果你修改了端口) 看到Apache的欢迎页面了。

  4. 安装数据库(MySQL):

    • 从MySQL官网(mysql.com)下载MySQL的Windows版本。
    • 按照安装向导进行安装,设置root用户的密码。
    • 安装完成后,启动MySQL服务。
  5. 测试PHP环境:

    吐槽大师
    吐槽大师

    吐槽大师(Roast Master) - 终极 AI 吐槽生成器,适用于 Instagram,Facebook,Twitter,Threads 和 Linkedin

    下载
    • 在你的网站根目录(比如C:\Apache24\htdocs)创建一个名为info.php的文件,内容如下:

      <?php
      phpinfo();
      ?>
    • 在浏览器中输入http://localhost/info.phphttp://localhost:8080/info.php (如果你修改了端口)。如果能看到PHP的信息页面,说明你的PHP环境已经搭建成功了。

如何解决PHP环境搭建过程中常见的端口冲突问题?

端口冲突是搭建PHP环境时经常遇到的问题,尤其是在Windows上。最常见的是80端口被占用,导致Apache无法启动。要解决这个问题,首先要确定哪个程序占用了80端口。

  • 使用netstat命令: 打开命令行,输入netstat -ano | findstr :80。这个命令会列出所有占用80端口的进程的PID(进程ID)。
  • 使用任务管理器: 打开任务管理器,切换到“详细信息”选项卡,找到对应的PID,就可以看到是哪个程序占用了80端口。

常见的占用80端口的程序有:

  • IIS: 如果你的电脑上安装了IIS(Internet Information Services),它会默认占用80端口。你可以禁用IIS或者修改IIS的端口。
  • Skype: Skype也会占用80端口和443端口。你可以在Skype的设置中修改端口。
  • 其他Web服务器: 如果你安装了其他的Web服务器,比如Nginx,它也可能会占用80端口。

找到占用80端口的程序后,你可以选择停止该程序,或者修改Apache的监听端口。修改Apache的监听端口很简单,只需要修改httpd.conf文件中的Listen 80为其他未被占用的端口,比如Listen 8080。修改后,记得重启Apache。

手动安装PHP和使用集成环境包,哪个更适合我?

这取决于你的经验水平和需求。

  • 集成环境包: 适合新手或者需要快速搭建环境的人。它们简化了安装和配置过程,让你能够快速开始开发。但是,它们也牺牲了一些灵活性,你可能无法完全控制每个组件的配置。
  • 手动安装: 适合有一定经验的开发者,或者需要定制化配置的人。手动安装可以让你更深入地了解每个组件的工作原理,并且可以根据自己的需求进行配置。但是,手动安装需要花费更多的时间和精力,而且容易出错。

如果你是新手,我建议你先使用集成环境包。等你对PHP环境有了更深入的了解后,再尝试手动安装。

如何配置虚拟主机,让多个网站运行在同一个PHP环境中?

虚拟主机允许你在同一台服务器上运行多个网站,每个网站都有自己的域名和目录。配置虚拟主机需要修改Apache的httpd.conf文件或者httpd-vhosts.conf文件。

  1. 启用虚拟主机:

    • 打开httpd.conf文件,找到#Include conf/extra/httpd-vhosts.conf,去掉前面的#,启用虚拟主机配置文件。
  2. 配置虚拟主机:

    • 打开httpd-vhosts.conf文件,添加以下内容:

      <VirtualHost *:80>
          DocumentRoot "C:/Apache24/htdocs/website1"  # 网站1的根目录
          ServerName website1.local  # 网站1的域名
          <Directory "C:/Apache24/htdocs/website1">
              Require all granted
          </Directory>
      </VirtualHost>
      
      <VirtualHost *:80>
          DocumentRoot "C:/Apache24/htdocs/website2"  # 网站2的根目录
          ServerName website2.local  # 网站2的域名
          <Directory "C:/Apache24/htdocs/website2">
              Require all granted
          </Directory>
      </VirtualHost>
    • 修改DocumentRootServerName<Directory>为你的实际目录和域名。

  3. 修改hosts文件:

    • 打开C:\Windows\System32\drivers\etc\hosts文件,添加以下内容:

      127.0.0.1   website1.local
      127.0.0.1   website2.local
    • 将域名指向本地IP地址。

  4. 重启Apache:

    • 重启Apache服务器,使配置生效。

现在,你就可以在浏览器中输入website1.localwebsite2.local访问你的两个网站了。记得把 website1.localwebsite2.local 替换成你自己的域名。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

686

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

514

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

287

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

519

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

267

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

392

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

542

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

668

2023.08.14

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.6万人学习

Excel 教程
Excel 教程

共162课时 | 21.3万人学习

PHP基础入门课程
PHP基础入门课程

共33课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号