搭建PHP开发环境:Linux篇

news2024/10/6 1:45:59

目录

一、引言

二、环境准备

三、安装Web服务器(Apache)

Ubuntu/Debian系统:

CentOS/Red Hat系统:

四、安装PHP解释器

Ubuntu/Debian系统:

CentOS/Red Hat系统:

五、配置Apache以支持PHP

Ubuntu/Debian系统:

CentOS/Red Hat系统:

六、安装和配置数据库(MySQL/MariaDB)

Ubuntu/Debian系统:

CentOS/Red Hat系统:

七、创建PHP示例页面

八、配置PHP以连接数据库

Ubuntu/Debian系统:

CentOS/Red Hat系统:

Ubuntu/Debian系统:

CentOS/Red Hat系统:

九、编写PHP数据库连接示例

十、使用PHP处理表单数据

十一、总结


一、引言

PHP是一种流行的服务器端脚本语言,适用于Web开发,并可嵌入HTML中。在Linux环境下搭建PHP开发环境,因其稳定性、安全性和高度的可定制性,成为众多开发者的首选。本文旨在指导新手朋友在Linux系统上搭建PHP开发环境,并通过案例和代码来加深理解。

二、环境准备

在开始搭建之前,请确保你的Linux系统已经安装并配置好了基本的开发工具和网络环境。以下是一个通用的Linux发行版环境准备清单:

  • 安装Linux操作系统(如Ubuntu、CentOS等)。
  • 更新系统和软件包列表。
  • 安装必要的开发工具,如gcc、make等。
  • 配置网络连接,确保能够访问互联网。

三、安装Web服务器(Apache)

Apache是世界上最流行的Web服务器软件之一,支持PHP的解析和运行。在Linux上,你可以通过包管理器来安装Apache。

Ubuntu/Debian系统:

sudo apt-get update  
sudo apt-get install apache2

安装完成后,你可以通过访问http://localhost来检查Apache是否成功启动。

CentOS/Red Hat系统:

sudo yum update  
sudo yum install httpd  
sudo systemctl start httpd  
sudo systemctl enable httpd

四、安装PHP解释器

接下来,你需要安装PHP解释器。同样,你可以通过包管理器来安装。

Ubuntu/Debian系统:

sudo apt-get install php libapache2-mod-php

这将安装PHP及其Apache模块。

CentOS/Red Hat系统:

sudo yum install php php-common php-cli php-fpm php-mysqlnd  
sudo yum install httpd-tools

注意,这里还安装了PHP-FPM(FastCGI Process Manager),它是一个用于处理PHP请求的FastCGI管理器。

五、配置Apache以支持PHP

在Apache中启用对PHP的支持需要进行一些配置。对于Ubuntu/Debian系统,你需要启用mod_php模块并重启Apache服务。

Ubuntu/Debian系统:

sudo a2enmod php7.4  # 根据你安装的PHP版本选择,例如7.4  
sudo service apache2 restart

对于CentOS/Red Hat系统,你需要在Apache的配置文件中添加对PHP的支持。

CentOS/Red Hat系统:

编辑Apache的配置文件/etc/httpd/conf/httpd.conf,找到以下行并取消注释(去掉前面的#):

#LoadModule php7_module modules/libphp7.so  
#AddHandler application/x-httpd-php .php  
#AddType text/html .php  
#DirectoryIndex index.php index.html

改为:

LoadModule php7_module modules/libphp7.so  # 根据你的PHP版本修改  
AddHandler application/x-httpd-php .php  
AddType text/html .php  
DirectoryIndex index.php index.html

然后重启Apache服务:

sudo systemctl restart httpd

六、安装和配置数据库(MySQL/MariaDB)

PHP经常与数据库一起使用,其中MySQL和MariaDB是两种流行的选择。以下是如何在Linux上安装和配置它们的步骤。

Ubuntu/Debian系统:

sudo apt-get install mysql-server

安装过程中会提示你设置root用户的密码。

CentOS/Red Hat系统:

sudo yum install mariadb-server  
sudo systemctl start mariadb  
sudo systemctl enable mariadb

安装完成后,你需要进行安全设置,如设置root密码、删除匿名用户等。在MySQL中,你可以使用mysql_secure_installation脚本来完成这些操作;在MariaDB中,可以使用mysql_secure_installation(尽管命令可能略有不同)。

七、创建PHP示例页面

现在,你的PHP开发环境已经搭建好了。为了验证一切是否正常工作,你可以创建一个简单的PHP页面。

创建一个名为info.php的文件,并将其放在Apache的Web根目录下(通常是/var/www/html/)。
在info.php文件中输入以下代码:

<?php  
phpinfo();  
?>

这段代码会调用PHP的phpinfo()函数,该函数将返回有关PHP配置的信息。

访问http://localhost/info.php来查看PHP信息页面。
如果一切正常,你应该能看到一个包含大量PHP配置信息的页面

八、配置PHP以连接数据库

为了使PHP能够连接到数据库,我们需要安装PHP的数据库扩展,并配置PHP以使用它。在大多数情况下,我们会使用php-mysql或php-mysqli扩展来连接MySQL或MariaDB数据库。

Ubuntu/Debian系统:

sudo apt-get install php-mysql

或者,如果你使用的是MySQLi扩展(推荐):

sudo apt-get install php-mysqli

CentOS/Red Hat系统:

sudo yum install php-mysqlnd

或者,如果你使用的是MySQLi扩展:

sudo yum install php-php-mysqli

安装完成后,你需要重启Apache服务以使更改生效:

Ubuntu/Debian系统:

sudo service apache2 restart

CentOS/Red Hat系统:

sudo systemctl restart httpd

九、编写PHP数据库连接示例

现在我们可以编写一个简单的PHP脚本来连接到数据库并执行查询。

创建一个名为db_connect.php的文件,并将其放在Apache的Web根目录下。
在db_connect.php文件中输入以下代码:

<?php  
$servername = "localhost";  
$username = "your_username";  // 替换为你的数据库用户名  
$password = "your_password";  // 替换为你的数据库密码  
$dbname = "your_database";    // 替换为你的数据库名  
  
// 创建连接  
$conn = new mysqli($servername, $username, $password, $dbname);  
  
// 检查连接  
if ($conn->connect_error) {  
    die("连接失败: " . $conn->connect_error);  
}  
  
echo "连接成功";  
  
// 关闭连接  
$conn->close();  
?>

请确保将your_username、your_password和your_database替换为你自己的数据库凭据和数据库名。

访问http://localhost/db_connect.php来运行脚本。如果连接成功,你应该会在页面上看到“连接成功”的消息。

十、使用PHP处理表单数据

PHP经常用于处理Web表单数据。下面是一个简单的示例,展示如何使用PHP处理HTML表单提交的数据。

创建一个名为form.html的HTML文件,并输入以下代码:
 

<!DOCTYPE html>  
<html>  
<body>  
  
<h2>HTML 表单</h2>  
  
<form action="process_form.php" method="post">  
    名字: <input type="text" name="name"><br>  
    邮箱: <input type="text" name="email"><br>  
    <input type="submit" value="提交">  
</form>  
  
</body>  
</html>

这个表单将数据发送到名为process_form.php的PHP文件进行处理。

创建一个名为process_form.php的PHP文件,并输入以下代码:

<?php  
if ($_SERVER["REQUEST_METHOD"] == "POST") {  
    $name = $_POST["name"];  
    $email = $_POST["email"];  
  
    echo "你提交的名字是: " . $name . "<br>";  
    echo "你提交的邮箱是: " . $email;  
}  
?>

这个PHP脚本检查请求方法是否为POST,并从$_POST数组中检索表单数据。然后,它将数据回显到页面上。

将form.html和process_form.php文件都放在Apache的Web根目录下。
访问http://localhost/form.html来查看表单,并填写表单数据提交。你应该会在页面上看到提交的数据。

十一、总结

通过本文,我们详细介绍了在Linux系统上搭建PHP开发环境的过程,包括安装Web服务器(Apache)、PHP解释器、数据库(MySQL/MariaDB),以及配置它们之间的连接。我们还提供了示例代码来展示如何使用PHP处理表单数据和连接数据库。希望这些内容对新手朋友有所帮助,使他们能够顺利搭建起自己的PHP开发环境,并开始进行Web开发。

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

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

相关文章

我在高职教STM32——LCD液晶显示(1)

大家好&#xff0c;我是老耿&#xff0c;高职青椒一枚&#xff0c;一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次&#xff0c;同行应该都懂的&#xff0c;老师在课堂上教学几乎是没什么成就感的。正因如此&#xff0c;才有了借助 CSDN 平台寻求认同感和成就…

基于CNN的掩码自编码器微调用于分类任务

开源仓库 JJLi0427/CNN_Masked_Autoencoder: Design a patches masked autoencoder by CNN (github.com)https://github.com/JJLi0427/CNN_Masked_Autoencoder CNN自编码器 前面的文章中我们模仿MAE的思路用CNN做了一个掩码自编码器 动手小实验&#xff0c;用CNN来构建Mase…

C++语法01 基本框架

目录 什么是 C &#xff1f; 新建源程序 保存源程序 程序基本框架 #include using namespace std; int main() return 0; 编译 运行 什么是 C &#xff1f; C语言&#xff0c;是基本的程序设计语言之一【程序设计语言&#xff0c;简单的来说就是编写代码来操控计…

【漏洞复现】Jenkins文件读取漏洞(CVE-2024-23897)

简介 jenkins是啥&#xff1f; 简单理解就是&#xff1a;一个开源的、用于方便代码管理、部署的基于web的平台&#xff0c;用于提高团队开发效率&#xff08;生产力&#xff09;。 Jenkins CLI 任意文件读取漏洞 CVE-2024-23897 是怎么回事&#xff1f; Jenkins提供了一个命令…

哈喽GPT-4o——对GPT-4o 文本创作的思考与看法

目录 用法1&#xff1a;创作小说用法2&#xff1a;创作散文用法3&#xff1a;创作诗歌1、古诗2、现代诗 用法4&#xff1a;创作儿童故事用法5&#xff1a;创作剧本 大家好&#xff0c;我是哪吒。 都说ChatGPT4o是目前文本创作的最强大模型&#xff0c;它都可以用于哪些方面的文…

Mac 安装HomeBrew(亲测成功)

1、终端安装命令&#xff1a; /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"执行后&#xff0c;没有安装git&#xff0c;会先安装&#xff0c;安装后再执行一下命令。 2、根据中文选择源安装 3、相关命令 查看版本号&a…

Maven下载安装、环境配置(超详细)(包括Windows、IDEA)

目录 一、引言 二、下载和安装 Maven &#xff08;1&#xff09;首先保证 Java 的环境是正常的。 1、电脑桌面上右击 " 此电脑 "&#xff0c;点击属性。 2、点击高级系统设置。 3、点击环境变量。 4、找到系统变量中的 Path。 5、点击新建&#xff0c;然后把…

win10重装系统如何操作,附上详细系统重装图文教程(2024年新)

win10重装系统如何操作呢&#xff1f;电脑使用时间长了&#xff0c;会出现各种各样的问题&#xff0c;如重要的系统文件被删除导致电脑无法正常运行&#xff0c;电脑运行内存空间不足&#xff0c;电脑卡顿等。Win10重装系统很简单&#xff0c;这里分享超详细的重装系统方法&…

20240611-WWDC2024-visionOS 2/Apple Intelligence/ARKit

目录 1 visionOS 2 1&#xff09;从2D图像提取左右眼的视角&#xff0c;生成空间照片——利用机器学习 2&#xff09;提供丰富的API和框架 2 Apple Intelligence 1&#xff09;自动对通知优先级排序、缩略通知、专注模式 2&#xff09;Siri可以根据屏幕内容执行相关操作 …

AI赋能——六月转折点的高效赋能策略

致所有内容创作者的2024财富密钥&#xff1a;六月转折点的高效赋能策略 随着六月的脚步渐近&#xff0c;我们正站在一个前所未有的时代转折点上——一个由人工智能引领的变革时代。在这个关键时期&#xff0c;我们诚挚地向您推荐一套专为自媒体量身定制的效率提升方案&#xf…

用python克隆了前男友的声音

声音克隆开源项目推荐&#xff1a;MockingBird 项目简介 MockingBird 是一个由开源社区开发的声音克隆项目&#xff0c;托管在 GitHub 上。该项目旨在通过深度学习技术实现高质量的声音克隆&#xff0c;使用户能够合成任意人的声音&#xff0c;并生成自然、流畅的语音输出。M…

温湿度采集与OLED显示

目录 一、什么是软件I2C 二、什么是硬件I2C 三、STM32CubeMX配置 1、RCC配置 2、SYS配置 3、I2C1配置 3、I2C2配置 4、USART1配置 5、TIM1配置 6、时钟树配置 7、工程配置 四、设备链接 1、OLED连接 2、串口连接 3、温湿度传感器连接 五、每隔2秒钟采集一次温湿…

这个开源软件,送给爱读书的你!!【送源码】

对于喜欢阅读的人来说&#xff0c;一定经历过从一本厚厚的修仙书籍到MP3、MP4的阅读时代&#xff0c;再到现今的手机软件。 但是现在的阅读软件经常会遇见以下问题&#xff1a;比如广告弹窗太多&#xff0c;排版乱&#xff0c;甚至很多的APP都进入会员时代&#xff0c;再加上一…

Python爬虫实战案例之——MySql数据入库

Hello大家好&#xff0c;我是你们的南枫学长&#xff0c;咱们今天来学——爬虫之MySql数据入库。 话不多说&#xff0c;导入咱们的老朋友&#xff1a; Pymysql就是我们Python里面的mysql库&#xff0c;主要功能就是用来连接MySql数据库&#xff0c;那么下载还是一样的操作去进…

报表开发工具DevExpress Reporting v23.2 - 增强PDF导出、多平台打印等

DevExpress Reporting是.NET Framework下功能完善的报表平台&#xff0c;它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集&#xff0c;包括数据透视表、图表&#xff0c;因此您可以构建无与伦比、信息清晰的报表。 DevExpress Reporting控件日前正式发布了v23.2…

05、部署 YUM 仓库及NFS 共享服务

目录 5.1 部署YUM软件仓库 5.1.1 准备网络安装源&#xff08;服务器端&#xff09; 1、准备软件仓库目录 2、安装并启用vsftpd服务 5.1.2 配置软件仓库位置&#xff08;客户端&#xff09; 5.2 使用yum工具管理软件包 5.2.1 查询软件包 1、yum list——查询软件包列表 …

JavaScript日期对象、DOM节点操作(查找、增加、克隆、删除)

目录 1. 日期对象2. DOM节点操作2.1 查找节点2.2 增加节点2.3 克隆节点2.4 删除节点 1. 日期对象 实例化日期对象&#xff1a; 获取当前时间: new Date()获取指定时间: new Date(2023-12-1 17:12:08) 日期对象方法: 方法作用说明getFullYear()获得年份获取四位年份getMonth…

建筑学跑路:揭秘热门转行新选择!

话说建筑学真的是我见过最关心同行的专业&#xff0c;每个建筑学跑路的帖子下面都有人问&#xff1a;你跑哪里去了&#xff1f; 很多人表示&#xff0c;我也想跑 当然不仅建筑学&#xff0c;园林的、城规的、土木的也会来凑热闹&#xff1a; 很多小伙伴分享了自己的转行经历&a…

【免费分享】全国shp数据汇总(中国湖泊、县界、公路、河流、铁路、国界线、经纬线、省会城市、省级行政区、县城驻地、线状省界)

ESRI Shapefile&#xff08;shp&#xff09;&#xff0c;或简称shapefile&#xff0c;该文件格式已经成为了地理信息软件界的开放标准&#xff0c;也是重要的交换格式&#xff0c;能够在ESRI与其他公司的产品之间进行数据互操作。 Shapefile属于一种矢量图形格式&#xff0c;它…

电脑硬盘文件隐藏了怎么恢复数据?轻松上手不求人

在数字化时代&#xff0c;电脑硬盘中存储的数据对于个人和企业而言都至关重要。然而&#xff0c;有时我们可能会遇到一些意想不到的情况&#xff0c;比如硬盘中的文件突然消失了或者变成了隐藏状态。这种情况不仅让人感到困惑&#xff0c;还可能对日常工作和生活造成不小的影响…