全面详尽的 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 是一个理想的选择。

安装步骤
  1. 下载 XAMPP

    访问 XAMPP 官方网站,下载适用于 Windows 的最新版本。

  2. 运行安装程序

    双击下载的安装程序(如 xampp-windows-x64-8.0.0-0-VC15-installer.exe),可能会出现用户账户控制(UAC)提示,点击“是”继续。

  3. 选择组件

    在组件选择界面,可以选择需要安装的组件。默认情况下,Apache、MySQL、PHP 都会被选中。根据需求,可以添加或取消其他组件。

    组件描述
    ApacheWeb 服务器
    MySQL数据库服务器
    PHPPHP 解析器
    phpMyAdminMySQL 管理工具
    FileZilla FTPFTP 服务器(可选)
    TomcatJava 服务器(可选)
  4. 选择安装目录

    选择安装路径,建议安装在根目录下(如 C:\xampp),避免权限问题。

  5. 完成安装

    安装完成后,勾选“启动控制面板”选项,点击“完成”。

配置和测试
  1. 启动 Apache 和 MySQL

    在 XAMPP 控制面板中,点击“Start”按钮启动 Apache 和 MySQL 服务。

  2. 测试 Apache

    在浏览器中输入 http://localhost/,如果看到 XAMPP 欢迎页面,说明 Apache 运行正常。

  3. 测试 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
  1. 下载 Apache

    访问 Apache Lounge,下载适用于 Windows 的二进制版本。

  2. 解压安装

    • 将下载的 ZIP 文件解压到 C:\Apache24
  3. 配置环境变量

    • C:\Apache24\bin 添加到系统环境变量 PATH 中。
  4. 测试安装

    • 打开命令提示符,输入 httpd -v,应显示 Apache 版本信息。
  5. 启动 Apache

    • 以管理员身份运行命令提示符,输入:

      httpd
      
安装 PHP
  1. 下载 PHP

    访问 PHP 官方下载页面,选择适用于 Windows 的非线程安全(NTS)版本。

  2. 解压安装

    • 将下载的 ZIP 文件解压到 C:\PHP
  3. 配置 PHP

    • php.ini-development 重命名为 php.ini

    • 编辑 php.ini,设置 extension_dir

      extension_dir = "C:\PHP\ext"
      
    • 启用必要的扩展,如 mysqlipdo_mysql 等,去掉前面的分号:

       

      extension=mysqli
      extension=pdo_mysql

  4. 配置 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 指向您的项目目录。

  5. 测试 PHP

    • DocumentRoot 目录下创建 index.php,内容为:

      <?php
      echo "Hello, PHP!";
      ?>
      
    • 重启 Apache 服务,访问 http://localhost/,应显示 "Hello, PHP!"。

安装 MySQL
  1. 下载 MySQL

    访问 MySQL 官方下载页面,选择适用于 Windows 的 MSI 安装程序。

  2. 安装 MySQL

    • 运行安装程序,选择“自定义”安装,按照提示完成安装。
    • 配置 root 用户密码,记住该密码用于后续连接。
  3. 测试连接

    • 打开命令提示符,输入:

      mysql -u root -p
      
    • 输入密码后,应进入 MySQL 命令行界面。

配置 PHP 连接 MySQL
  • php.ini 中确保已启用 mysqlipdo_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
  1. 下载 MAMP

    访问 MAMP 官方网站,下载最新版本的 MAMP。

  2. 安装 MAMP

    • 双击下载的 DMG 文件,按照提示拖动 MAMP 到“应用程序”文件夹。
  3. 启动 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 官方网站

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/880218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件设计-开闭原则

开闭原则是一种重要的设计思想&#xff0c;它为软件系统的可扩展性和可维护性提供了有力的支持。 一、开闭原则的原理 开闭原则&#xff08;Open-Closed Principle, OCP&#xff09;是指软件实体&#xff08;类、模块、函数等&#xff09;应当对扩展开放&#xff0c;对修改关…

网络安全科普系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;知识分类管理&#xff0c;科普知识管理&#xff0c;案例分析管理&#xff0c;建议反馈&#xff0c;试题内容管理&#xff0c;交流论坛&#xff0c;系统管理 微信端账号功能包括&a…

基于DAMODEL——Faster-RCNN 训练与测试指南

Faster-RCNN 训练与测试指南 前言 今天我们要来实现一个经典的目标检测模型&#xff1a;Faster-Rcnn。我们使用DAMODEL云平台来实现&#xff0c;这是个很强大的云端平台&#xff0c;功能众多&#xff0c;你可以投你所好去进行你想做的事情。 1. 环境与工具准备 1.1 远程连接…

docker搭建个人网盘,支持多种格式,还能画图,一键部署

1&#xff09;效果 2&#xff09;步骤 2.1&#xff09;docker安装 docker脚本 bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrorsmain/DockerInstallation.sh)docker-compose脚本 curl -L "https://github.com/docker/compose/releases/late…

①无需编程 独立通道 Modbus主站EtherNet/IP转ModbusRTU/ASCII工业EIP网关串口服务器

Modbus主站EtherNet/IP转ModbusRTU/ASCII工业EIP网关串口服务器https://item.taobao.com/item.htm?ftt&id743840591638 EtherNet/IP 串口网关 EtherNet/IP 转 RS485 型号 2路总线EIP网关 MS-A1-2021 4路总线EIP网关 MS-A1-2041 4路总线EIP网关&#xff08;双网口&am…

轻量型js聊天框架Botui(附示例源码)

最近在捣鼓typecho博客&#xff0c;无意中发现一个好玩的小插件botui&#xff0c;可以实现简单的自定义聊天对话&#xff0c;因此通过"抽丝剥茧“提取出来一个简单的示例代码&#xff0c;就是一些js&#xff0c;css之类的。非常适合移植作为博客插件。 1.Botui介绍 官方文…

记录linux环境下搭建本地MQTT服务器实现mqtt的ssl加密通讯

1、ubuntu安装mosquitto sudo apt-get update//安装服务端 sudo apt-get install mosquitto//安装客户端 sudo apt-get install mosquitto-clients 2、安装openssl 3、mqtts/tls加密传输 mosquitto原生支持了TLS加密&#xff0c;TLS&#xff08;传输层安全&#xff09;是SSL&…

模拟哈希表

#include<iostream> #include<cstring>using namespace std; const int N100010; int h[N],e[N],ne[N]; int idx0;void insert(int x) {int t(x%NN)%N;//模拟链表插入e[idx]x,ne[idx]h[t],h[t]idx; }bool find(int x) {int t(x%NN)%N;th[t];while(t!-1)if(e[t]x)re…

翻译:openmax文档

设计哲学 如前所述&#xff0c;OpenMAX IL API 的核心重点是媒体组件的可移植性。现有设备和媒体实现解决方案的多样性要求 OpenMAX IL 将媒体软件栈的更高层次作为关键初始用户。对于许多操作系统而言&#xff0c;这意味着现有的媒体框架或某种形式的多媒体中间件。 另一个关…

【深度学习】(6)--图像数据增强

文章目录 图像数据增强一、作用二、增强方法三、代码体现四、增强体现 总结 图像数据增强 数据增强&#xff08;Data Augmentation&#xff09;&#xff0c;也称为数据增广&#xff0c;是一种在机器学习和深度学习中常用的技术&#xff0c;它通过对现有数据进行各种变换和处理…

怎么录制游戏视频?精选5款游戏录屏软件

对于热爱游戏的你来说&#xff0c;记录游戏中的精彩瞬间并分享给朋友或粉丝&#xff0c;无疑是一种享受。然而&#xff0c;在众多录屏软件中&#xff0c;如何选择最适合你的那一款&#xff1f;今天&#xff0c;我们就为大家精选了五款游戏录屏软件&#xff0c;需要的朋友快来选…

编译原理3——词法分析

3.1词法分析器的作用 词法分析是编译的第一阶段。词法分析器的主要任务是读入源程序的输入字符、将它们组成词素&#xff0c;生成并输出一个词法单元序列&#xff0c;每个词法单元对应于一个词素。 但在这个过程中&#xff0c;词法分析器还要和语法分析器进行交互。交互&…

Redis: 特点,优势,与其他产品的区别以及高并发原理

入门Redis概述 1 &#xff09;选择Redis是因为其高性能 因为 Redis 它数据存储的机制是存在内存中的&#xff0c;减少了传统关系数据库的磁盘IO它是单线程的保证了原子性&#xff0c;它还提供了事务&#xff0c;锁等相关的机制 2 &#xff09;Redis 环境安装配置 linux 或 d…

JavaScript 输出方式

JavaScript 提供了多种输出方式&#xff0c;用于在浏览器中显示信息。以下是几种常见的输出方式及其详细代码示例&#xff1a; 1. console.log() 用于在浏览器的开发者控制台输出信息&#xff0c;常用于调试。 优点&#xff1a; 调试方便&#xff1a;可以输出任意类型的数据&…

改进拖放PDF转换为图片在转换为TXT文件的程序

前段时间我写了Python识别拖放的PDF文件再转成文本文件-CSDN博客 最近有2点更新&#xff0c;一是有一些pdf文件转换出来的图片是横的&#xff0c;这样也可以识别文字&#xff0c;但是可能会影响效果&#xff0c;另一个是发现有一些文字识别不出来&#xff0c;看了关于提高Padd…

学习制作第一个LC带通滤波器的初步认识与总结

作为业余爱好&#xff0c;之前没有接触过射频方面的知识。 收音机&#xff0c;fm调频话筒等等想必是很多人都想制作的一个入门制作。但是这个里面的振荡&#xff0c;谐振&#xff0c;滤波&#xff0c;虽然在电子报上面频频看见&#xff0c;对于普通爱好者&#xff0c;如果没有…

在视频上绘制区域:使用Vue和JavaScript实现交互式画布

在数字时代&#xff0c;交互式媒体内容的创建和消费变得越来越普遍。特别是视频内容&#xff0c;它不仅提供了视觉信息&#xff0c;还允许用户与之互动&#xff0c;从而增强了用户体验。本文将介绍如何使用Vue.js框架和JavaScript创建一个交互式组件&#xff0c;该组件允许用户…

【Docker】Docker快速入门

Docker学习笔记 一、Docker概述 为什么会出现Docker? 安卓开发流程&#xff1a;apk(java开发的)发布到应用商店&#xff0c;用户安装apk即可使用。 后端开发流程&#xff1a; jar(java开发的)带上环境发布到Docker仓库&#xff0c;用户从Docker仓库拉取镜像并部署。 总结…

如何提高UI自动化的稳定性

用例层面&#xff1a; 1. 将用例设计成参数化&#xff0c;将测试数据通过参数进行传递 2. 对于一些可能会变化的参数&#xff0c;将其设计成全局变量&#xff0c;减少维护用例的成本 3. 对用例之间避免产生依赖&#xff0c;可以独立执行 框架层面&#xff1a; 1. 使用PO设…

Android 如何实现搜索功能:本地搜索?数据模型如何设计?数据如何展示和保存?

目录 效果图为什么需要搜索功能如何设计搜索本地的功能&#xff0c;如何维护呢&#xff1f;总结 一、效果图 二、为什么需要搜索功能 找一个选项&#xff0c;需要花非常多的时间&#xff0c;并且每次都需要指导客户在哪里&#xff0c;现在只要让他们搜索一下就可以。这也是模…