【Linux】Ubuntu Linux 系统 ——PHP开发环境

ℹ️大家好,我是练小杰,元宵节到了,在此祝大家元宵节快乐😆

新的一年里,愿你步步高升,事事如意,心想事成!!


本文是关于Linux 操作系统中部署PHP开发环境这部分基础内容,后续将添加更多相关知识噢,谢谢各位的支持~~

前情回顾:【Linux系统—Android开发环境】

Linux专栏:🔝 【PHP语法基础】【Linux零基础开始】【Shell 脚本编程】

在这里插入图片描述

文章目录

  • 新的一年里,愿你步步高升,事事如意,心想事成!!
  • 前言
  • PHP开发环境
    • 环境组成
    • 开发工具
  • 安装LAMP平台
      • LAMP平台安装命令
    • 测试Apache
  • 数据库管理工具
    • 安装phpMyAdmin
    • 常见错误与解决方案
  • PHP集成开发工具
    • 安装Eclipse for PHP
    • 启动Eclipse for PHP
    • 使用Eclipse for PHP开发PHP程序
      • 配置PHP程序运行环境
      • 创建PHP项目
  • 部署PHP调试环境
    • (1)首先安装XDebug
    • (2)配置php.ini,加上以下语句
    • (3)配置`xdebug.ini`,在该文件的末尾添加以下语句。
    • (4)重启Apache服务。
    • (5) 验证Xdebug安装
    • PHP调试环境图形界面测试
  • PHP版本切换

在这里插入图片描述

前言

之前我们已经讲过有关PHP语法的基础内容,也讲过了在CentOS 7系统安装PHP的具体步骤,感兴趣的大佬们可点击博客 👉 【CentOS 7安装PHP 配置】【PHP语法基础】查看,本文不过多讲述这部分内容了!!
不要走开,马上进入正题!!!🚴🏽‍♀️

PHP开发环境

在 Linux 中搭建 PHP 开发环境是进行 Web 开发的重要步骤。
PHP 是一种广泛使用的服务器端脚本语言,通常与 Apache/NginxMySQL/MariaDB 结合使用,形成经典的 LAMP(Linux, Apache, MySQL, PHP)或 LEMP(Linux, Nginx, MySQL, PHP)开发环境。

环境组成

  • 完整的 PHP 开发环境通常包括以下组件:

Web 服务器: ApacheNginx
数据库: MySQLMariaDB
PHP: 服务器端脚本语言。
开发工具: 代码编辑器(如 VS Code)、调试工具(如 Xdebug)。

开发工具

  • 代码编辑器

VS Code:支持 PHP 语法高亮、代码补全和调试。
PhpStorm: 专业的 PHP IDE,功能强大。

  • 调试工具

Xdebug:PHP 的调试工具,支持断点调试和性能分析。

 sudo apt install php-xdebug

安装LAMP平台

LAMP是一个Web应用程序平台的缩写,最早用来指代Linux操作系统、Apache网络服务器、MySQL数据库和PHP(Perl或Python)脚本语言的组合,后来M也指代数据库软件MariaDB
LAMP架构设计特点:成本低廉、部署灵活、快速开发、安全稳定等,是Web网络应用和环境的优秀组合。

说明:

  • 其中,Linux操作系统有多个不同的发行版,可以选择适合需求的版本安装。
  • Apache是LAMP架构最核心的Web服务器软件。运行Web 应用程序通常又需要后台数据库(MySQL)支持。
  • PHP 全称 PHP Hypertext Preprocessor,是一种跨平台的服务器端嵌入式脚本语言。

LAMP平台安装命令

以下是一键安装LAMP平台的工具及其命令~~

  • Tasksel 工具的基本用法如下:

Tasksel 是在 Ubuntu系统上使用的命令行工具,用于简化安装多个相关软件包的任务。它主要用于安装服务器或桌面环境的预定义任务集合。

tasksel install <软件集>
tasksel remove <软件集>
tasksel [选项]
  • 执行命令开始下载和安装LAMP过程。
sudo tasksel install lamp-server
  • 另外,以下命令也可以达到相同的效果。⚠️注意末尾一定要加上脱字符号(^
sudo apt install lamp-server^

测试Apache

在这里插入图片描述

数据库管理工具

phpMyAdmin 是一个基于 Web 的 MySQL/MariaDB 数据库管理工具,使用 PHP 编写。它提供了一个直观的用户界面,允许用户通过浏览器轻松管理数据库,而无需使用命令行工具。

  • phpMyAdmin 的功能
  • 数据库管理:创建、删除、修改数据库。
  • 表管理:创建、删除、修改表结构。
  • 数据操作:插入、更新、删除、查询数据
  • SQL 查询:执行自定义 SQL 语句。
  • 用户管理:管理数据库用户和权限。
  • 导入/导出数据:支持多种格式(如 SQL、CSV、JSON)。
  • 服务器状态监控:查看服务器状态和性能指标。

安装phpMyAdmin

  • 安装MySQL管理工具phpMyAdmin
sudo apt update
sudo apt install phpmyadmin
  • Apache配置 phpMyAdmin的基础设置
    在这里插入图片描述
  • phpMyAdmin配置数据
    在这里插入图片描述
  • 输入MySQL管理员密码

在这里插入图片描述

  • 输入MySQL应用程序密码

在这里插入图片描述

  • phpMyAdmin登录界面

在这里插入图片描述- phpMyAdmin主界面
在这里插入图片描述

常见错误与解决方案

  • (1) 404 错误

错误原因:phpMyAdmin 未正确配置到 Web 服务器。

⚠️解决方法:

确保 Apache 已启用 phpmyadmin 配置

 sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.confsudo a2enconf phpmyadminsudo systemctl reload apache2
  • (2) 登录失败

错误原因:用户名或密码错误,或用户权限不足。

⚠️解决方法:

检查 MySQL/MariaDB 的用户名和密码。
确保用户具有访问 phpMyAdmin 的权限。

PHP集成开发工具

  • Zend Studio是Zend Technologies公司开发的PHP集成开发环境,目前的版本构建于Eclipse平台。
  • PhpStorm是JetBrains公司开发的一款商业的轻量级PHP集成开发工具。
  • Geany是一个小巧的使用GTK+2开发的跨平台的开源集成开发环境,支持基本的语法高亮、代码自动完成、调用提示、插件扩展。
  • Eclipse可以说是比较全面的开发工具,它通过PDT(PHP Development Tools)插件来提供PHP开发支持,具有简捷高效的优点。
  • PDT支持两种调试工具:XDebug和Zend Debugger。程序员使用PDT能够快速编写和调试PHP脚本和页面。

安装Eclipse for PHP

  • 主要有两种安装方式

(1)在Eclipse的基础上通过扩展安装PDT
(2)直接下载包含PDT的Eclipse安装包Eclipse for PHP Developers
⚠️采用第2种方式安装时,首先要安装好Java开发环境JDK,再将下载的安装包解压缩即可。

  • 快捷图标文件
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse PHP
Comment=Eclipse for PHP
Exec=/opt/php/eclipse/eclipse
Icon=/opt/php/eclipse/icon.xpm
Terminal=false
StartupNotify=true
Type=Application

启动Eclipse for PHP

首次启动Eclipse for PHP会,提示选择工作区。

  • Eclipse for PHP欢迎界面
    在这里插入图片描述

使用Eclipse for PHP开发PHP程序

配置PHP程序运行环境

  • 配置PHP服务器
    在这里插入图片描述
  • 配置Web浏览器
    在这里插入图片描述

创建PHP项目

  • 创建PHP项目向导
    在这里插入图片描述
  • 成功创建的PHP项目

在这里插入图片描述

  • 创建PHP文件

在这里插入图片描述

  • 编写PHP代码

在这里插入图片描述

  • 测试PHP项目,具体操作步骤如下:

1.编辑/etc/apache2/conf-enabled/phptest.conf配置文件

Alias /phptest /home/zxp/eclipse-php-workspace/phptest    
<Directory /home/zxp/eclipse-php-workspace/phptest>   Options Indexes FollowSymLinksAllowOverride NoneRequire all granted
</Directory>
  1. 重启Apache服务器。
systemctl restart httpd
  1. 运行该PHP文件测试。

部署PHP调试环境

(1)首先安装XDebug

Xdebug是一个强大的PHP调试和分析工具,能够帮助我们调试PHP代码、分析性能等。

  • 安装必要的构建工具

在安装Xdebug之前,你需要确保系统中安装了必要的构建工具,比如 php-devgcc。再根据你的Linux发行版本,使用相应的包管理器进行安装。

关于 Debian/Ubuntu系统:

sudo apt update
sudo apt install php-dev autoconf automake gcc make

关于 CentOS/RHEL系统:

sudo yum install php-devel autoconf automake gcc make
  • 下载Xdebug源码

访问 Xdebug官网 获取最新的Xdebug版本号。然后使用 wget 下载源码包。
假如,最新版本是 3.2.0

wget https://xdebug.org/files/xdebug-3.2.0.tgz
  • 解压源码包
tar -xvzf xdebug-3.2.0.tgz
cd xdebug-3.2.0
  • 编译和安装Xdebug,在解压后的目录中,运行以下命令来编译和安装Xdebug。
phpize                        ##准备编译PHP扩展的环境
./configure --enable-xdebug  ##配置编译选项
make                         ##编译源码。
sudo make install            ##将编译好的扩展安装到PHP的扩展目录中

(2)配置php.ini,加上以下语句

安装完成后,需要在 php.ini 文件中添加Xdebug的配置。

  • 使用命令找到 php.ini 文件的位置
php --ini

输出信息:

Configuration File (php.ini) Path: /etc/php/7.4/cli
Loaded Configuration File:         /etc/php/7.4/cli/php.ini
Scan for additional .ini files in: /etc/php/7.4/cli/conf.d
  • 使用文本编辑器(如 nanovim)打开 php.ini 文件
sudo vim /etc/php/7.4/cli/php.ini
  • 在文件的末尾添加以下配置
[Xdebug]
xdebug.remote_enable = on
xdebug_remote_host = "localhost" 
xdebug.remote_port = 9000 
xdebug.remote_handler = "dbgp"
zend_extension=usr/lib/php/20170718/xdebug.so

(3)配置xdebug.ini,在该文件的末尾添加以下语句。

xdebug.remote_enable = on
xdebug_remote_host = "localhost" 
xdebug.remote_port = 9000 
xdebug.remote_handler = "dbgp"

(4)重启Apache服务。

sudo systemctl restart apache2

(5) 验证Xdebug安装

  • 运行以下命令来验证Xdebug是否正确安装
php -v#运行结果
PHP 7.4.3 (cli) (built: Feb 18 2020 12:10:30) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologieswith Xdebug v3.2.0, Copyright (c) 2002-2020, by Derick Rethans

PHP调试环境图形界面测试

  • 创建PHP文件
    在这里插入图片描述

  • 编写PHP代码
    在这里插入图片描述

  • PHP调试界面
    在这里插入图片描述

  • Xdebug调试器全局设置
    在这里插入图片描述

PHP版本切换

  • 查验php的候选项
$update-alternatives --display php
php - auto modelink best version is /usr/bin/php7.2link currently points to /usr/bin/php7.2link php is /usr/bin/phpslave php.1.gz is /usr/share/man/man1/php.1.gz
/usr/bin/php7.2 - priority 72slave php.1.gz: /usr/share/man/man1/php7.2.1.gz
  • 执行以下命令切换到PHP 5.6版本
sudo update-alternatives --set php /usr/bin/php5.6
  • PHP 5.6版本的Web运行环境
    在这里插入图片描述

今天的Linux系统相关内容到这里就结束了,明天再见啦👋
ℹ️想了解更多,主页【练小杰的CSDN】
⚠️若博客里的内容有问题,欢迎指正,我会及时修改!!!
明天再见,各位同仁🚴🏻‍♀️~~

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

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

相关文章

SQL注入之布尔和时间盲注,sqli-labs

实验环境&#xff1a; sqli-labs&#xff0c;小皮面板搭建&#xff0c;edge浏览器 apache&#xff1a;2.4.39&#xff0c;MySQL&#xff1a;5.7 PHP&#xff1a;5.39 Python&#xff08;pycharm2023&#xff09;:3 less-8 布尔盲注&#xff1a; 1.我这里是采用最简单的直接采…

C/C++后端开发面经

字节跳动 客户端开发 实习 一面(50min) 自我介绍是否愿意转语言,是否只愿意搞后端选一个项目来详细谈谈HTTP和HTTPS有什么区别?谈一下HTTPS加密的具体过程&#xff1a; 非对称加密 对称加密 证书认证的方式 非对称加密是为了保证对称密钥的安全性。 对称…

如何用.NET Core Identity实现定制化的用户身份验证系统

目录 初识标识框架(Identity) 重置密码操作 JWT基本使用 Swagger添加报文头 初识标识框架(Identity) .net core Identity是一个完整的身份验证和授权框架&#xff0c;它帮助开发人员处理用户的登录、注册、角色管理、权限控制以及其他与用户身份相关的操作&#xff0c;标…

WebSocket与Socket.io的区别

文章目录 引言一、WebSocket&#xff1a;原生的实时通信协议&#xff08;一&#xff09;WebSocket 是什么&#xff08;二&#xff09;WebSocket 的工作原理&#xff08;三&#xff09;WebSocket 的使用方法&#xff08;四&#xff09;WebSocket 的优势&#xff08;五&#xff0…

excel里的函数技巧(持续更新中)

行转列 在 Excel 中&#xff0c;行转列&#xff08;将一行数据转换为一列&#xff0c;或者将一列数据转换为一行&#xff09;是一项常见的操作。你可以使用 转置 功能轻松实现这一操作。 TRANSPOSE(数组)

DeepSeek模型R1服务器繁忙,怎么解决?

在当今科技飞速发展的时代&#xff0c;人工智能领域不断涌现出令人瞩目的创新成果&#xff0c;其中DeepSeek模型无疑成为了众多关注焦点。它凭借着先进的技术和卓越的性能&#xff0c;在行业内掀起了一股热潮&#xff0c;吸引了无数目光。然而&#xff0c;如同许多前沿技术在发…

w~自动驾驶~合集17

我自己的原文哦~ https://blog.51cto.com/whaosoft/13269720 #FastOcc 推理更快、部署友好Occ算法来啦&#xff01; 在自动驾驶系统当中&#xff0c;感知任务是整个自驾系统中至关重要的组成部分。感知任务的主要目标是使自动驾驶车辆能够理解和感知周围的环境元素&#…

操作系统|ARM和X86的区别,存储,指令集

文章目录 主频寄存器寄存器在硬件中的体现是什么寄存器的基本特性硬件实现寄存器类型 内存和寄存器的区别内存&#xff08;Memory&#xff09;和磁盘&#xff08;Disk&#xff09;指令的执行ARM Cortex-M3与Thumb-2指令集Thumb-2 与流水线虚拟地址指令的执行 多核CPU芯片间的通…

好好说话:深度学习扫盲

大创项目是和目标检测算法YOLO相关的&#xff0c;浅浅了解了一些有关深度学习的知识。在这里根据本人的理解做一些梳理。 深度学习是什么&#xff1f; 之前经常听到AI&#xff0c;机器学习&#xff0c;深度学习这三个概念&#xff0c;但是对于三者的区别一直很模糊。 AI&…

关于 IoT DC3 中设备(Device)的理解

在物联网系统中&#xff0c;设备&#xff08;Device&#xff09;是一个非常宽泛的概念&#xff0c;它可以指代任何能够接入系统并进行数据交互的实体。包括但不限于手机、电脑、服务器、网关、硬件设备甚至是某些软件程序等所有能接入到该平台的媒介。 内容 定义 目的 示例 …

接入 SSL 认证配置:满足等保最佳实践

前言 随着信息安全形势的日益严峻&#xff0c;等保&#xff08;信息安全等级保护&#xff09;要求成为各行业信息系统必须遵守的标准。在数据库领域&#xff0c;OpenGauss作为一款高性能、安全、可靠的开源关系型数据库&#xff0c;也需要满足等保要求&#xff0c;确保数据的安…

【论文阅读】Revisiting the Assumption of Latent Separability for Backdoor Defenses

https://github.com/Unispac/Circumventing-Backdoor-Defenses 摘要和介绍 在各种后门毒化攻击中&#xff0c;来自目标类别的毒化样本和干净样本通常在潜在空间中形成两个分离的簇。 这种潜在的分离性非常普遍&#xff0c;甚至在防御研究中成为了一种默认假设&#xff0c;我…

2024-2025年主流的开源向量数据库推荐

以下是2024-2025年主流的开源向量数据库推荐&#xff0c;涵盖其核心功能和应用场景&#xff1a; 1. Milvus 特点&#xff1a;专为大规模向量搜索设计&#xff0c;支持万亿级向量数据集的毫秒级搜索&#xff0c;适用于图像搜索、聊天机器人、化学结构搜索等场景。采用无状态架…

开源身份和访问管理方案之keycloak(一)快速入门

文章目录 什么是IAM什么是keycloakKeycloak 的功能 核心概念client管理 OpenID Connect 客户端 Client Scoperealm roleAssigning role mappings分配角色映射Using default roles使用默认角色Role scope mappings角色范围映射 UsersGroupssessionsEventsKeycloak Policy创建策略…

【工业场景】用YOLOv8实现火灾识别

火灾识别任务是工业领域急需关注的重点安全事项,其应用场景和背景意义主要体现在以下几个方面: 应用场景:工业场所:在工厂、仓库等工业场所中,火灾是造成重大财产损失和人员伤亡的主要原因之一。利用火灾识别技术可以及时发现火灾迹象,采取相应的应急措施,保障人员安全和…

FlinkCDC 实现 MySQL 数据变更实时同步

文章目录 1、基本介绍2、代码实战 2.1、数据源准备2.2、代码实战2.3、数据格式 1、基本介绍 Flink CDC 是 Apache Flink 提供的一个功能强大的组件&#xff0c;用于实时捕获和处理数据库中的数据变更。可以实时地从各种数据库&#xff08;如MySQL、PostgreSQL、Oracle、Mon…

金融风控项目-1

文章目录 一. 案例背景介绍二. 代码实现1. 加载数据2. 数据处理3. 查询 三. 业务解读 一. 案例背景介绍 通过对业务数据分析了解信贷业务状况 数据集说明 从开源数据改造而来&#xff0c;基本反映真实业务数据销售&#xff0c;客服可以忽略账单周期&#xff0c;放款日期账单金…

CANMV K230入手体验(1)u盘安装镜像

这是安装镜像后的磁盘管理。 使用镜像文件名为&#xff1a; CanMV-K230_01Studio_micropython_v1.2.2-0-g4b8cae1_nncase_v2.9.0.img。 安装结束。 套件的sd卡损坏&#xff0c;已申请更换。 小伙伴们注意sd卡的问题&#xff0c;一个上午过去了。C... 下图是资源管理器的截…

策略模式-小结

总结一下看到的策略模式&#xff1a; A:一个含有一个方法的接口 B:具体的实行方式行为1,2,3&#xff0c;实现上面的接口。 C:一个环境类&#xff08;或者上下文类&#xff09;&#xff0c;形式可以是&#xff1a;工厂模式&#xff0c;构造器注入模式&#xff0c;枚举模式。 …

springCloud-2021.0.9 之 GateWay 示例

文章目录 前言springCloud-2021.0.9 之 GateWay 示例1. GateWay 官网2. GateWay 三个关键名称3. GateWay 工作原理的高级概述4. 示例4.1. POM4.2. 启动类4.3. 过滤器4.4. 配置 5. 启动/测试 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收…