PHP 环境搭建教程

news2024/12/27 13:10:19

搭建一个稳定的PHP开发环境是开发Web应用的基础。在Linux系统上,LAMP(Linux, Apache, MySQL/MariaDB, PHP)堆栈是最广泛使用的组合。本文将详细介绍如何在Linux上搭建PHP开发环境,涵盖安装步骤、配置和测试。更多内容,请查询

环境准备

在开始之前,请确保您有一台已经安装了Linux操作系统的服务器或虚拟机。本教程以CentOS/Ubuntu为例,但大多数Linux发行版的步骤是相似的。

步骤一:更新系统软件包

首先,更新系统中的所有软件包,以确保安装过程中不会遇到依赖性问题。

在CentOS上:

sudo yum update -y

在Ubuntu上:

sudo apt update && sudo apt upgrade -y
步骤二:安装Apache Web服务器

Apache是一个功能强大、灵活、HTTP服务器,是LAMP堆栈中最重要的组件之一。

在CentOS上:

sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd

在Ubuntu上:

sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
步骤三:安装MariaDB数据库服务器

MariaDB(或MySQL)是广泛使用的关系数据库管理系统。在传统的LAMP堆栈中,MySQL被用作数据库部分,但近年来MariaDB逐渐取代了MySQL。

在CentOS上安装MariaDB:

sudo yum install mariadb-server mariadb -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
# 安全设置
sudo mysql_secure_installation

在Ubuntu上安装MariaDB:

sudo apt install mariadb-server mariadb-client -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
# 安全设置
sudo mysql_secure_installation
步骤四:安装PHP

PHP是服务器端脚本语言,是LAMP堆栈的最后一个组件。

在CentOS上安装PHP:

sudo yum install epel-release -y
sudo yum install php php-mysql php-fpm -y
# 重启Apache以加载PHP模块
sudo systemctl restart httpd

在Ubuntu上安装PHP:

sudo apt install php libapache2-mod-php php-mysql php-fpm -y
# 重启Apache以加载PHP模块
sudo systemctl restart apache2
步骤五:配置Apache以支持PHP

确保Apache已经加载并配置了PHP模块。在CentOS和Ubuntu上,安装包通常会自动配置好Apache,但我们可以进行确认和进一步配置。

编辑/etc/httpd/conf/httpd.conf(CentOS)或/etc/apache2/apache2.conf(Ubuntu),检查以下行是否存在:

LoadModule php_module modules/libphp.so
AddType application/x-httpd-php .php
步骤六:测试PHP环境

创建一个测试PHP文件来验证PHP是否配置正确。

在Apache默认的网页目录(CentOS: /var/www/html, Ubuntu: /var/www/html)中创建一个名为info.php的文件:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

然后,通过浏览器访问http://server_ip_address/info.php(例如:http://127.0.0.1/info.php)查看PHP信息页面。如果页面显示PHP配置相关信息,则说明PHP环境已成功配置。

步骤七:安装常用PHP扩展

根据需要,您可以安装各种PHP扩展,例如:

  • php-mysqli:MySQL扩展。
  • php-gd:图形处理扩展。
  • php-xml:XML解析扩展。
  • php-mbstring:多字节字符串处理扩展。

在CentOS上:

sudo yum install php-mysqli php-gd php-xml php-mbstring -y

在Ubuntu上:

sudo apt install php-mysqli php-gd php-xml php-mbstring -y
步骤八:配置PHP-FPM(可选)

为了提高性能,可以配置PHP-FPM(FastCGI Process Manager),特别适合高并发环境。

在CentOS上:

sudo yum install php-fpm -y
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

在Ubuntu上:

sudo apt install php-fpm -y
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm

编辑Apache配置文件,启用PHP-FPM:
在CentOS (/etc/httpd/conf.d/php.conf)或Ubuntu (/etc/apache2/conf-enabled/php7.4-fpm.conf)中:

<FilesMatch \.php$>
    SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/"
</FilesMatch>

测试完毕后,重新启动Apache:
在CentOS上:

sudo systemctl restart httpd

在Ubuntu上:

sudo systemctl restart apache2
结论

通过上述步骤,您已在Linux上成功搭建了LAMP环境,并配置好了PHP以支持开发和运行Web应用。这些基础步骤为后续的Web开发提供了坚实的基础。

无论是新手还是有经验的开发者,通过了解和掌握这些步骤,能够更好地管理和优化服务器环境,以实现更稳定、高效的Web服务。

如需更多信息或帮助,可参考以下资源:

  • Apache官方网站
  • MariaDB官方网站

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

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

相关文章

Docker操作MySQL

1&#xff0c;拷贝&#xff1b; docker cp mysql01:/etc/mysql .2&#xff0c;修改conf.d和mysql.conf.d文件 3&#xff0c; vim mysql/my.cnf 4&#xff0c;拷贝并替换my.cnf文件 5&#xff0c;mysql镜像重启命令&#xff1a; docker exec -it mysql01 -uroot -p0000006&…

LOAM学习

LOAM Ceres Solver 中的LocalParameterization理解ALOAM雷达里程计主要步骤论文A-LOAM laser Odometry代码LiDAR Odometry寻找角点特征代码流程分析寻找面点特征 求解器设置 Ceres Solver 中的LocalParameterization理解 该LocalParameterization类用来解决非线性优化中的过参…

最全的软件测试面试题(含答案)

软件的生命周期(prdctrm) 计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码(coding)->测试(testing)->运行与维护(running maintrnacne) 测试用例 用例编号  测试项目  测试标题  重要级别  预置条件  输入数据  执行步骤   预期结果 1…

python做游戏好用吗

Python做游戏是完全可以的&#xff0c;而且也非常简单&#xff0c;有一个专门针对游戏开发的平台&#xff08;模块&#xff09;—pygame&#xff0c;允许开发人员快速设计游戏而又摆脱了低级语言的束缚&#xff0c;下面我简单介绍一下这个模块的安装和使用&#xff1a; 1、首先…

Java手写RPC框架-01-开篇

项目背景 随着业务不断升级&#xff0c;系统规模不断扩大&#xff0c; 单体架构会产生越来越多的问题&#xff0c;需要引入微服务将原先架构解耦为一个个模块。每个服务模块放在不同的服务器上&#xff0c;能够保证系统在高并发环境下的正常运转。 各个服务模块之间如何相互调…

想了解医疗大模型吗?请看《智能系统学报》实验室最新综述论文

本文改编自实验室的最新综述论文《医疗领域的大型语言模型综述》&#xff0c;该论文发表于《智能系统学报》。《智能系统学报》是中国人工智能学会会刊、“中国人工智能学会推荐中文学术期刊”列表中的A类期刊。该论文合作单位包括上海理工大学、上海儿童医学中心、复旦大学附属…

LangChain-Chatchat本地搭建部署

文章目录 前言一、安装部署1.软硬件要求2. 安装 Langchain-Chatchat3.安装Xinference4.遇到的问题问题1&#xff1a;Failed building wheel for llama-cpp-python问题2&#xff1a;Failed building wheel for pynini问题3&#xff1a;运行xinference错误 二、初始化项目配置并运…

了解软件测试的概念

本文我们来了解软件测试 的一些基本概念。同时需要记住衡量软件测试结果的依据—需求&#xff1b; 1. 需求的概念 满足用户期望或正式规定文档&#xff08;合同、标准、规范&#xff09;所具有的条件和权能&#xff0c;包含用户需求和软件需求。&#xff08;其实就是客户想要软…

摩尔信使MThings逻辑控制实例——交通灯

摩尔信使MThings提供了强大的数据配置和逻辑控制功能&#xff0c;可为用户带来一种高效且直观的方式进行管理和控制交通灯系统。与传统的PLC&#xff08;可编程逻辑控制器&#xff09;相比&#xff0c;MThings的界面更加用户友好&#xff0c;使得即使是非专业的用户也能够轻松地…

在 Mac 中设置环境变量

目录 什么是环境变量&#xff0c;为什么它们重要&#xff1f;什么是环境变量&#xff1f;举个例子 如何查看环境变量如何设置和修改环境变量1. 临时设置环境变量2. 永久设置环境变量3. 修改现有环境变量 环境变量在开发中的应用在 Node.js 项目中使用环境变量在 Python 项目中使…

Certificate has expired(npm 安装strapi)

报错信息 解决方法 1、清空缓存&#xff0c;有时&#xff0c;损坏的缓存会导致连接问题 npm cache clean --force 2、切换到淘宝镜像源的 npm 注册表 npm config set registry https://registry.npmmirror.com/ 执行这两步后就可以执行自己想要安装的东西了&#xff0c;我是在执…

Uniapp + Vue3 + Vite +Uview + Pinia 实现购物车功能(最新附源码保姆级)

Uniapp Vue3 Vite Uview Pinia 实现购物车功能&#xff08;最新附源码保姆级&#xff09; 1、效果展示2、安装 Pinia 和 Uview3、配置 Pinia4、页面展示 1、效果展示 2、安装 Pinia 和 Uview 官网 https://pinia.vuejs.org/zh/getting-started.html安装命令 cnpm install pi…

云轴科技ZStack 获鲲鹏应用创新大赛2024上海赛区决赛一等奖

9月13日&#xff0c;鲲鹏应用创新大赛2024上海赛区决赛成功举办。经评委专家从方案创新性、技术领先性、商业前景以及社会价值四个维度严格评审&#xff0c;云轴科技ZStack参赛作品《ZStack鲲鹏原生开发方案》荣获上海赛区企业赛——原生开发赛道&#xff08;互联网&#xff09…

AI大模型系统实战:挑战与应用多领域,人工智能大模型的实际应用场景

AI大模型系统实战&#xff1a;挑战与应用多领域&#xff0c;人工智能大模型的实际应用场景 人工智能的新浪潮中&#xff0c;大模型系统已成为技术革新的重要驱动力。它们以其强大的学习能力和广泛的应用场景&#xff0c;正在重新定义我们与机器交互的方式。本文将深入探讨AI大模…

VS 如何显示构建的时间

Cherno 构建 Hazel 的时候会显示构建时间 VS -> Tools -> Options -> Projects and Solution -> VC Project Settings

UGit:腾讯自研的Git客户端新宠

UGit 是一款专门针对腾讯内部研发环境特点量身定制的 Git 客户端&#xff0c;其目标在于大幅提升开发效率以及确保团队协作的高度流畅性。UGit 能够良好地支持 macOS 10.11 及以上版本、Apple Silicon 以及 Win64 位系统。 可以下载体验一把。 https://ugit.qq.com/zh/index.…

GIS可视化软件:地理信息与遥感领域中的洞察之眼

在地理信息与遥感技术的广阔天地中&#xff0c;可视化软件如同一双洞察世界的明眸&#xff0c;将复杂的数据编织成生动、直观的画卷&#xff0c;为我们揭示地球的奥秘与城市的律动。本文将深入挖掘其技术核心、应用实例、未来趋势&#xff0c;探讨可视化软件如何为地理信息与遥…

电能质量监测装置和防孤岛装置在特斯拉工厂分布式光伏项目的应用

摘要&#xff1a;全球对可再生能源的关注增加&#xff0c;推动了分布式光伏发电系统的普及。这些系统因环保和灵活性而受到青睐&#xff0c;有助于解决能源和环境问题。电能质量在线监测装置和防孤岛保护装置在这些项目中至关重要。监测装置实时跟踪电压和电流&#xff0c;保障…

切换淘宝最新镜像源npm详细讲解

​ 大家好&#xff0c;我是程序员小羊&#xff01; 前言&#xff1a; 在中国大陆&#xff0c;npm&#xff08;Node Package Manager&#xff09;的默认源由于网络限制&#xff0c;速度可能较慢。为了解决这个问题&#xff0c;淘宝提供了一个镜像源&#xff0c;它同步了 npm 的…

连接数据库(以MySQL为例)

文章目录 前言一、数据库是什么&#xff1f;二、连接步骤 1.手动导入驱动包2.连接数据库总结 前言 面对应用程序的开发&#xff0c;普遍需要保存用户的海量数据。保存粮的库叫粮库&#xff0c;保存水的库叫水库&#xff0c;那么保存数据的库自然叫数据库。有了数据库&#xff0…