PHP5.3 + Apache2.2 + Xdebug2.1.2环境并集成至PHPStrom全流程(解决使用最好的语言前的痛点问题)

news2024/12/25 13:29:31

文章目录

  • 问题背景
  • 安装流程
    • PHP安装
    • 配置PHP
    • Apache安装及配置
    • PHPStrom集成PHP环境进行PHP开发

问题背景

由于公司陈旧项目的重新启动,现需要对该项目开发微信登录模块,本人是写 Java 的,但本着程序员终身学习、不惧新事物的特点,现针对 PHP 开发前的环境搭建进行总结,争取使自己以后不再浏览器搜索框中搜索相同的问题。

安装流程

PHP安装

去PHP官网:https://www.php.net/,下载 PHP,官网中的往往是最新版本的,在博主搭建完 PHP 环境后的最大体会就是,PHP 针对组件之间的版本兼容性很高,且不存在向下兼容,所以请在安装环境前确认自己项目的版本,至少确定是5.6之前的版本还是5.6之后的版本,这有助于环境搭建后期重复的做很多无用功,这里提供PHP的历史版本的下载地址:https://windows.php.net/downloads/releases/archives/,下载自己需要的版本即可,下载时需要确定自己下载的是“线程安全版本”还是“线程不安全版本”,这两者的区别如下图,大部分使用 线程安全版本

image-20231124154416497

确定好版本后下载完成的目录大致是这样的:

image-20231124154551837

几个重要的文件或者文件夹

ext:该文件夹存储则所有第三方组件,后续 xdebug 组件放在这里

php.exe:PHP的可执行文件,配置PHPStrom的时候使用

php-ini:最重要的配置文件,PHP能否正常使用就靠它

到此PHP就算安装完成了,可以在PHP的安装目录下打开控制台,然后输入 php -v命令,弹出PHP版本证明安装成功,或者加入环境变量,这就不做赘述了

配置PHP

前言:配置PHP就是配置PHP的php.ini文件,接下来我们展开讲讲需要配置哪些地方,在PHP的安装目录中有一个 php.ini-development,将其改名为 php.ini打开编辑即可,分别搜索以下几个关键词并修改对应的内容

  1. extension_dir:替换成 PHP 的 ext 目录文件路径
  2. 去掉 php_mysql.dllphp_mysqli.dll前的分号
  3. date.timezone:修改成 UTC
  4. 文件最下方配置Xdebug,输入以下配置,针对这些配置做一解释:
    • zend_extension:配置Xdebug的组件路径,从 https://xdebug.org/上下载最新版的Xdebug,需要注意的是Xdebug的版本需要严格与PHP版本对应,例如博主的PHP版本是5.3,所以可以在这个网站去下载老版本的Xdebug,网址是 https://xdebug.org/download/historical,如果PHP安装的是非线程安全的版本,则Xdebug也要安装相同的非线程安全版本,线程安全亦之
    • xdebug.idekeyxdebug.remote_handlerxdebug.remote_modexdebug.remote_enablexdebug.remote_autostartxdebug.mode:照着博主的填写即可,具体代表什么意思童鞋们可以去查阅文档
    • xdebug.remote_host:主机名
    • xdebug.remote_port :自己填写一个不冲突的端口号
[Xdebug]
zend_extension = "D:\php\php-5.3.0-Win32-VC6-x86\ext\php_xdebug-2.2.3-5.3-vc9-x86_64.dll" 
xdebug.idekey="PHPSTORM"
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = "debug"
xdebug.remote_host=localhost
xdebug.remote_enable=on
xdebug.remote_port = 9003   
xdebug.remote_autostart = On
xdebug.mode = "debug"

Apache安装及配置

前言:博主PHP项目是运行在Apache服务器上的,所以需要配置 Apache,Apache的版本同样也有所讲究,大家可以百度搜索关键词, php + 自己的版本 + 配置Apache来确定安装什么版本的Apache,如果不想费事,请记住Apache2.2最高支持PHP5.4,5.4以上版本使用Apache2.4,由于Apache官网不提供历史版本的下载,好多链接进不去,所以Apache的安装包还需要大家自行寻找,这里博主提供Apache2.2的版本下载地址:https://www.apachelounge.com/download/ 提取码 uju4,大家下载下来即可,下载后的目录大致长这样,请自行比对:

image-20231124163805876

接着打开conf文件夹中的 httpd.conf文件,搜索以下关键词进行配置的修改:

  1. ServerRoot:修改成bin目录的上一级

  2. 删除 LoadModule rewrite_module modules/mod_rewrite.so前的 #

  3. 添加一个新的LoadModule,第一行的路径需要自己进行修改

LoadModule php5_module "D:/php/php-5.3.0-Win32-VC6-x86/php5apache2_2.dll"
<FilesMatch "\.php$">
setHandler application/x-httpd-php
</FilesMatch>
  1. DocumentRoot:修改成htdocs的路径
  2. 将所有的 AllowOverride None改成 AllowOverride All
  3. <Directory:同样修改成htdocs的路径
  4. :加上 index.php,这是欢迎页

然后在 httpd.exe所在文件夹下打开控制台输入 httpd -t,用来检测配置文件的语法是否有误,如果有误则根据提示检查配置文件并修改正确,如果无误接着进行下面的操作:

执行 httpd -k install -n Apache2.4 #-n后面表示自定义访问名称

执行 httpd -k start #启动Apache服务

访问 localhost,查看显示的是否是 htdocs 下的默认Html文件的内容,如果是则证明Apache安装完成

PHPStrom集成PHP环境进行PHP开发

  1. 安装PHPStrom
  2. 打开PHP项目
  3. 配置PHP,打开File - Settings - PHP,分别配置 language levelInterpreter,大家根据自己的目录进行配置即可:

image-20231124170632686

  1. 打开 settings - PHP - Debug,配置 Debug port,这里填写的端口号需要与 php.ini 中的一致
  2. 配置位于上面Debug下的 DBGp Proxy,如下图,填写的信息都是与 php.ini 中 Xdebug 的配置中写的是一样的

image-20231124171057611

  1. 配置位于PHP下的 Servers,具体配置看下图

image-20231124172149924

  1. 进入Tools - Deployment - configuration,按照下图配置

image-20231124172436447

  1. 配置 Mappings

image-20231124172550450

  1. 记得选中这些地方,将本地项目自动上传至Apache服务器的对应目录中

image-20231124172725358

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 打开PHPStrom的右上角的Edit Configuration进行服务的配置,见下图:

image-20231124173344843

  1. 开始调试项目

image-20231124173452869

至此,整个环境搭建完毕,觉得好的童鞋点个赞,点个收藏,觉得不好的童鞋多多包涵,博主能力有限,写博客的初衷是自己记录使用,难免出现各种问题,大家多多包涵,评论区积极交流!!!

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

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

相关文章

CCFCSP试题编号:202305-2试题名称:矩阵运算

只要懂如何进行矩阵乘法就好了&#xff0c;和注意一点数的大小范围就ok了&#xff01; #include <iostream> using namespace std;const int N 10010, D 30; long long tmp[D][D], ans[N][N]; int n, d; int Q[N][D], K[N][D], V[N][D], W[N]; int main() {cin >&g…

2048 数字合成大作战,Android小游戏开发

A. 项目描述 《2048》是一款经典的益智小游戏&#xff0c;它的目标是通过合并相同数字来达到2048这个最高分。 该游戏规则简单&#xff0c;玩家需要通过滑动屏幕来移动方块&#xff0c;相同数字的方块会合并成一个新的数字方块。这样的简单操作让人可以轻松上手。 《2048》小…

室内卫星定位信号弱?——看时间服务器与GNSS模拟器如何实现区域内可靠的室内定位!

方案介绍 GNSS是当前最常用、覆盖最广泛、效率最高的定位导航技术&#xff0c;几乎各个领域都依赖它。然而&#xff0c;在室内或地下&#xff0c;GNSS信号通常非常弱甚至不可用。德思特采用时间服务器与GNSS模拟器相结合&#xff0c;提供了一种基于区域的室内定位方案。这个方…

笔尖笔帽检测4:C++实现笔尖笔帽检测算法(含源码 可是实时检测)

笔尖笔帽检测4&#xff1a;C实现笔尖笔帽检测算法(含源码 可是实时检测) 目录 笔尖笔帽检测4&#xff1a;C实现笔尖笔帽检测算法(含源码 可是实时检测) 1.项目介绍 2.笔尖笔帽关键点检测方法 (1)Top-Down(自上而下)方法 (2)Bottom-Up(自下而上)方法&#xff1a; 3.笔尖笔…

针对CSP-J/S的每日一练:Day 11

一、审题 题目描述 给定两个大小分别为 m m m 和 n n n 的正序&#xff08;从小到大&#xff09;数组 n u m s 1 nums1 nums1 和 n u m s 2 nums2 nums2。请你找出并返回这两个正序数组的中位数。 算法的时间复杂度应该为 O ( l o g ( m n ) ) O(log (mn)) O(log(mn)) 。…

7天高效处理500万件订单,母婴巨头Babycare的人效提升之路

随着出生率下降&#xff0c;新生儿人口不断减少&#xff0c;母婴市场竞争愈加激烈。与此同时&#xff0c;越来越多90后、95后成为父母&#xff0c;新的消费需求和触媒习惯让各大母婴品牌不再仅仅专注于在传统的线下零售渠道争得一席之地&#xff0c;而是逐步转型为以数字化驱动…

【腾讯云HAI】都2023年了,HAI没玩过AIGC?

:::info 腾讯云高性能应用服务(Hyper Application lnventor&#xff0c;HA)&#xff0c;是一款面向 Al、科学计算的 GPU 应用服务产品&#xff0c;为开发者量身打造的澎湃算力平台。无需复杂配置&#xff0c;便可享受即开即用的GPU云服务体验。在 HA] 中&#xff0c;根据应用智…

django(千锋教育)

创建一个django项目 官网下载python最新版本 配置到环境变量中 打开intlij编辑器 创建django项目 安装django&#xff1a;pip install django 创建django项目: django-admin startproject django01 创建djangoAPP&#xff1a;python manage.py startapp App 启动&#xff1a…

Maven项目下详细的SSM整合流程

文章目录 &#x1f389;SSM整合流程一、两个容器整合✨ 1、先准备好数据库config.properties连接、mybatis-config.xml&#x1f38a; 2、容器一&#xff1a;优先配置spring.xml文件&#x1f38a; 3、容器二&#xff1a;配置springMVC.xml文件&#x1f38a; 4、Tomcat整合spring…

具有150KHz固定频率的PWM控制降压型稳压电路芯片D2504,可兼容型号XL4001

D2504是一块具有150KHz固定频率的PWM控制降压型稳压电路&#xff0c;具有高转换效率、2A负 载能力和优异的负载调整率和电压线性度。 主要特点&#xff1a; ● 输入电压范围: 4.5~40V ● 可调输出电压: 1.235~37V ● 最小Drop电压1 5V2A ● 150K 固…

模拟火车订票系统---python序列

if __name__ __main__:#创建车辆信息列表list["车次","出发站-到达站","出发时间","到达时间","历时","余票"]trainNumber[T40,T298,Z158,Z62]address[长春-北京,长春-北京,长春-北京,长春-北京]getTime[00:12,0…

西安数字孪生赋能工业制造,加速推进制造业数字化转型

西安数字孪生、5G、工业物联网、工业互联网等新一代信息通信技术与工业制造业经济深度融合&#xff0c;通过对人、机、物、系统等全面连接&#xff0c;构建覆盖全产业链、全价值链的全新制造和服务体系&#xff0c;为工业乃至产业数字化、网络化、智能化发展提供实现途径&#…

【Linux】一篇文章教你快速上手vim

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

杰发科技AC7801——keil工程移植到IAR

0、简介 发现AC7801的代码只有keil工程的&#xff0c;IAR和Eclipse的代码只有一个例程&#xff0c;于是在从Keil移植到IAR时候遇到的问题记录下。 正常情况下&#xff0c;直接把keil的usr用户代码移植到iar的文件夹下面&#xff0c;删除原本的文件再添加新加进来的文件即可。…

COCO类别标签增加80

COCO类别标签增加80 import codecs import ospath H:/Dataset/COCO/train_pbr/000001/labels/ # 标签文件train路径 m os.listdir(path) # 读取路径下的txt文件 for n in range(0, len(m)):t codecs.open(H:/Dataset/COCO/train_pbr/000001/labels/ m[n], moder, encoding…

根据商品链接获取拼多多商品详情数据接口|拼多多商品详情价格数据接口|拼多多API接口

拼多多&#xff0c;作为中国最大的社交电商之一&#xff0c;为卖家提供了丰富的商品详情接口。这些接口可以帮助卖家快速获取商品信息&#xff0c;提高销售效率。本文将详细介绍如何使用拼多多商品详情接口&#xff0c;以及它的优势和注意事项。 一、拼多多商品详情接口概述 …

【Web】攻防世界 难度3 刷题记录(1)

目录 ①lottery ②ics-05 ③mfw ④simple_js ⑤fakebook 感觉自己对一些综合题的熟练度不太够&#xff0c;专项训练一下 ①lottery 抽奖赚钱&#xff0c;钱够9990000可买flag 随便输一串数字抓包&#xff0c;然后查看到一个post请求&#xff0c;api.php,题目里面有附件…

程序员的副业 IP 探索之路

大家好&#xff0c;我是破局初创合伙人伍六七&#xff0c;专注于分享 AI 编程&#xff0c;主业 Java 程序员&#xff0c;副业探索个人 IP。 在互联网 35 岁危机、全球经济下行以及 AI 对生产力的变革时代下&#xff0c;谁也不能保证 35 岁之后&#xff0c;当前的工作能不能保住…

Python 基础【五】--数据类型-序列【2023.11.24】

1.定义 Python 中的序列是一块可存放多个值的连续内存空间&#xff0c;所有值按一定顺序排列&#xff0c;每个值所在位置都有一个编号&#xff0c;称其为索引&#xff0c;我们可以通过索引访问其对应值。 list1 [Google, Runoob, 1997, 2000] list2 [1, 2, 3, 4, 5 ] list3…

数字图像处理基础-用通俗语言进行超详细的总结

目录 图像感知与获取 韦伯定理 马赫带效应 图像获取 图像的采样和量化 图像内插&#xff08;重采样&#xff09; 图像的表示与描述 像素间的关系 exercise&#xff1a;4-邻域连通区域标记 本文章讲解数字图像处理的基础&#xff0c;大部分内容来源于课堂笔记中 图像感…