全面详尽的 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.rhkb.cn/news/430295.html

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

相关文章

zabbix入门单机部署

zabbix官网 1进入官网后选择右上角Download 选择你要的版本以及需要的组件&#xff0c;网页下方会自动生成需要操作的步骤 &#xff0c;跟着步骤一步一步安装即可&#xff1a; 这里跟着官网步骤一步步走下去就可以了 但是需要注意的是安装 yum install centos-release-scl源…

C++20 std::format

一、前言 1、传统 C 格式化的问题与挑战 可读性差&#xff1a;使用 C 中的 printf 和 scanf 家族函数进行格式化输出和输入时&#xff0c;它们的语法较为复杂&#xff0c;难以阅读。在较大的代码项目中&#xff0c;可读性差会导致维护困难。类型安全性差&#xff1a;printf 和…

vue入门小练习

文章目录 1.案例需求2.编程思路3.案例源码4.小结 1.案例需求 一个简易的计算器&#xff0c;其效果如下&#xff1a; 图片切换&#xff0c;其效果如下&#xff1a; 简易记事本&#xff0c;其效果如下&#xff1a; 2.编程思路 1.这个Vue.js应用实现了一个简单的计算器&#x…

中小微企业生产管理利器-- 超轻量生产工单系统

为解决中小微制造企业的生产管理难题&#xff0c;搭贝官方自主设计并推出了一款开箱即用的超轻量「生产工单系统」应用。该系统具备5分钟上手&#xff0c;3小时落地的优势&#xff0c;无需实施即可轻松实现生产任务的敏捷管理&#xff0c;同时支持自定义修改&#xff0c;能够适…

PostgreSQL的学习心得和知识总结(一百五十一)|[performance] PostgreSQL列对齐

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 3、PostgreSQL数据库仓库…

鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别

一、介绍 鸟类识别系统。本系统采用Python作为主要开发语言&#xff0c;通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型&#xff0c;然后进行模型的迭代训练&#xff0c;得到一个识别精度较高的模型&#xff0c;然后在…

HarmonyOS应用开发(组件库)--组件模块化开发、工具包、设计模式(持续更新)

致力于&#xff0c;UI开发拿来即用&#xff0c;提高开发效率 正则表达式...手机号校验...邮箱校验 文件判断文件是否存在 网络下载下载图片从沙箱中图片转为Base64格式从资源文件中读取图片转Base64 组件输入框...矩形输入框...输入框堆叠效果&#xff08;用于登录使用&#xf…

Django 请求配置

http请求配置 请求流程 urls.py配置 from first_app import viewsurlpatterns [path(admin/, admin.site.urls),path(test/,views.first_test), ] views.py配置 from django.shortcuts import render,HttpResponse# Create your views here. def first_test(request):prin…

Linux相关概念和重要知识点(6)(make、makefile、gdb)

1.make、makefile &#xff08;1&#xff09;什么是make、makefile&#xff1f; 在我们写完代码后&#xff0c;要编译运行&#xff0c;如果有多个.c文件就需要每次都自己用gcc -o来处理&#xff0c;这十分麻烦。当我们想要自定义多个文件的处理时&#xff0c;我们会浪费很多时…

全国职业院校技能大赛(大数据赛项)-平台搭建Spark、Scala笔记

Spark作为一个开源的分布式计算框架拥有高效的数据处理能力、丰富的生态系统、多语言支持以及广泛的行业应用。Scala是一种静态类型的编程语言&#xff0c;它结合了面向对象编程和函数式编程的特性&#xff0c;被誉为通用的“大数据语言”。而二者的结合更能迸发出新奇的化学反…

ER论文阅读-Decoupled Multimodal Distilling for Emotion Recognition

基本介绍&#xff1a;CVPR, 2023, CCF-A 原文链接&#xff1a;https://openaccess.thecvf.com/content/CVPR2023/papers/Li_Decoupled_Multimodal_Distilling_for_Emotion_Recognition_CVPR_2023_paper.pdf Abstract 多模态情感识别&#xff08;MER&#xff09;旨在通过语言、…

MODELS 2024:闪现奥地利,现场直击报道

周末出逃&#xff01;小编闪现至奥地利林茨&#xff0c;亲临第27届MODELS 2024国际会议&#xff0c;以第一视角引领你深入会议现场&#xff0c;领略其独特风采。利用午饭时间&#xff0c;小编紧急码字&#xff0c;只为第一时间将热点资讯呈现给你~ 会议介绍&#xff1a; MODEL…

数据结构篇--折半查找【详解】

折半查找也叫做二分查找或者对数查找&#xff0c;是一种在有序数组中查找特定元素的查找算法。 折半查找的算法步骤如下&#xff1a; 将目标关键字key与数组中的中间元素比较&#xff0c;若相等则查找成功。key大于中间元素&#xff0c;就到数组中大于中间元素的部分进行查找&…

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)2.1-2.2

目录 第四门课 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;第二周 深度卷积网络&#xff1a;实例探究&#xff08;Deep convolutional models: case studies&#xff09;2.1 为什么要进行实例探究&#xff1f;&#xff08;Why look at case studies?&…

【ComfyUI】自定义节点ComfyUI_LayerStyle——模仿 Adob​​e Photoshop 的图层样式、图层混合、图文混合、添加不可见水印

官方代码&#xff1a;https://github.com/chflame163/ComfyUI_LayerStyle.git 相关资料下载&#xff1a;https://pan.baidu.com/s/16vmPe6-bycHKIjSapOAnZA?pwd0919 简介 在ComfyUI画布点击右键 - Add Node, 找到 “&#x1f63a;dzNodes”。 节点根据功能分为5组&#xff…

深入Android UI开发:从自定义View到高级布局技巧的全面学习资料

在Android开发的世界中&#xff0c;UI设计和实现是吸引用户的关键。本文将为您介绍一套全面的Android UI开发学习资料&#xff0c;包括详细的学习大纲、PDF文档、源代码以及配套视频教程&#xff0c;旨在帮助您从自定义View到高级布局技巧&#xff0c;全面提升您的UI开发技能。…

基于SpringBoot+Vue+MySQL的电影院购票管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着电影产业的蓬勃发展&#xff0c;电影院已成为人们休闲娱乐的重要场所。然而&#xff0c;传统的电影院购票管理系统存在诸多不便&#xff0c;如购票流程繁琐、排队时间长、无法提前选座等问题&#xff0c;给观众的观影体验带…

uni-data-select 使用 localdata 传入数据出现 不回显 | 下拉显示错误的 解决方法

目录 1. 问题所示2. 正确Demo3. 下拉显示错误(Bug复现)4. 下拉不回显(Bug复现)1. 问题所示 uni-app的下拉框uni-data-select 使用 localdata 传入数据 主要总结正确的Demo以及复现一些Bug 数据不回显数据不显示下拉选项2. 正确Demo 详细的基本知识推荐阅读:uni-app中的…

java项目之健身房管理系统源码(springboot)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的健身房管理系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 健身房管理系统的主要使用…

ModbusTCP通讯错误的排查

Modbus是一种由MODICON公司开发的工业现场总线协议标准&#xff0c;是一项应用层报文传输协议。该协议用于传输数字和模拟变量[1]。有关该协议的报文具体格式&#xff0c;以及一些基本概念&#xff0c;见[1]。 本文以一个例子&#xff0c;阐述当ModbusTCP通讯出现错误的时候&a…