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

文章目录

  • 问题背景
  • 安装流程
    • 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.mzph.cn/news/167245.shtml

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

相关文章

NX二次开发UF_CSYS_set_wcs_display 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_set_wcs_display Defined in: uf_csys.h int UF_CSYS_set_wcs_display(int display_status ) overview 概述 Set display of work coordinate system. 展示工作坐标系。 …

面试:ShardingSphere问题

文章目录 什么是ShardingSphere&#xff0c;它的主要功能是什么&#xff1f;ShardingSphere的核心模块有哪些&#xff1f;他们是如何工作的&#xff1f;ShardingSphere 的读写分离是如何实现的&#xff1f;如何配置ShardingSphere的数据分片策略&#xff1f;ShardingSphere支持…

【Linux】匿名管道+进程池

文章目录 前置知识一、管道的原理二、管道的特性三、管道的接口四、使用管道实现简单的进程池解决进程池的一个小问题 前置知识 一个进程在创建时&#xff0c;会默认打开三个文件&#xff0c;分别是&#xff1a;stdin&#xff0c;stdout&#xff0c;stderr 进程中有一个维护进…

炫我出席数字光影工作室专业建设论坛,受聘为专家委员会委员!

11月18日&#xff0c;炫我科技受邀参加在北京深澜AI空间举办的2023数字光影工作室专业建设论坛。本次活动由北京市新媒体技师学院主办、北京澜景科技有限公司协办&#xff0c;私有云售前技术工程师龚琛代表我司出席&#xff0c;并受聘为新媒体技师学院数字光影工作室专家委员会…

Mysql基础操作(命令行)

文章目录 Mysql基础操作&#xff08;命令行&#xff09;背景创建数据库选择数据库查看所有表查看表结构向表插入数据插入第一条插入第二条插入第三条 查询表数据修改表数据删除表数据 Mysql基础操作&#xff08;命令行&#xff09; 背景 docker安装mysql8&#xff0c;映射本地…

GTC2023全球流量大会蓄势待发,菊风在7B57展位等你!

第六届 GTC 全球流量大会&#xff08;以下简称 GTC2023&#xff09;将于12月5日- 6日&#xff0c;在深圳福田会展中心7&#xff06;8号馆举办。 据悉&#xff0c;本届大会将是历届以来规模最大、参与人数最多、跨境出海资源最丰富的一次行业盛会。7、8 号馆共 15000 平方米&am…

计算机组成原理-磁盘存储器

文章目录 总览外存储器磁盘存储器磁盘的性能指标磁盘地址磁盘的工作过程磁盘阵列 总结 总览 外存储器 磁盘存储器 写是利用电流产生磁场从而写磁盘 读是利用载磁体移动时产生的电场从而得到数据 磁性材质易受外界磁场干扰 下图中 载磁体上N S的前后顺序代表对应存储二进制的比…

【深度学习】卷积神经网络(CNN)的参数优化方法

著名&#xff1a; 本文是从 Michael Nielsen的电子书Neural Network and Deep Learning的深度学习那一章的卷积神经网络的参数优化方法的一些总结和摘录&#xff0c;并不是我自己的结论和做实验所得到的结果。我想Michael的实验结果更有说服力一些。本书在github上有中文翻译的…

喜讯!云起无垠成为国家信息安全漏洞库(CNNVD)技术支撑单位

近日&#xff0c;云起无垠凭借其在漏洞挖掘、漏洞检测以及漏洞修复等领域的卓越表现&#xff0c;荣获“国家信息安全漏洞库&#xff08;CNNVD&#xff09;技术支撑单位等级证书&#xff08;三级&#xff09;”&#xff0c;正式成为CNNVD技术支撑单位。 中国国家信息安全漏洞库&…

MTK联发科MT6762/MT6763/MT6765安卓核心板参数规格比较

MT6762安卓核心板 MTK6762安卓核心板是一款工业级高性能、可运行 android9.0 操作系统的 4G智能模块。 CPU&#xff1a;4xCortex-A53 up to 2.0Ghz/4xCortex-A53 up to 1.5GhzGraphics&#xff1a;IMG GE8320 Up to 650MhzProcess&#xff1a;12nmMemory&#xff1a;1xLP3 9…

【正点原子STM32连载】 第六十章 串口IAP实验(Julia分形)实验 摘自【正点原子】APM32F407最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子APM32F407最小系统板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html## 第六十…

实例分割12篇顶会论文及代码合集,含2023最新

同学们&#xff0c;你们觉得视觉经典四个任务中哪个最难&#xff1f;我个人觉得是实例分割。 因为它既具备语义分割的特点&#xff0c;需要做到像素层面上的分类&#xff0c;也具备目标检测的一部分特点&#xff0c;即需要定位出不同实例&#xff0c;即使它们是同一种类。 但…

LangChain的函数,工具和代理(一):OpenAI的函数调用

一、什么是函数调用功能 几个月前OpenAI官方发布了其API的函数调用功能(Function calling), 在 API 调用中&#xff0c;您可以描述函数&#xff0c;并让模型智能地选择输出包含调用一个或多个函数的参数的 JSON 对象。API函数“ChatCompletion” 虽然不会实际调用该函数&#…

一站式企业快递管理平台使用教程

因公寄件在企业中重要性的提升&#xff0c;催生出了企业快递管理平台。为什么这么说呢&#xff1f; 随着经济和快递行业的发展&#xff0c;因公寄件在企业中成了一件“常事”&#xff0c;寄文件合同、发票、节假日慰问品、样品等等&#xff0c;这种情况之下&#xff0c;因公寄件…

Vue3 设置点击后滚动条移动到固定的位置

需求&#xff1a; 点击不通过按钮&#xff0c;显示红框中表单&#xff0c;且滚动条滚动到底部 &#xff08;显示红框中表单默认不显示&#xff09; <el-button click"onApprovalPass">不通过</el-button> <div class"item" v-if"app…

pwn:[SWPUCTF 2021 新生赛]nc签到

题目 linux环境下显示为 配合题目的下载附件&#xff0c;发现过滤了一些&#xff0c;一旦输入这些会自动关闭程序 ls被过滤了&#xff0c;可以使用l\s cat和空格都被过滤了&#xff0c;cat可以换成c\at ,空格可以换成$IFS$9

Youtube0播放?运营教你需要的技巧、策略与工具!

对于有跨境意向的内容创作者或者品牌企业来说&#xff0c;YouTube是因其巨大的潜在受众群和商业价值成为最值得投入变现与营销计划的平台。 据统计&#xff0c;98% 的美国人每月访问 YouTube&#xff0c;近三分之二的人每天访问。但是&#xff0c;YouTube还远未达到过度饱和的…

酵母双杂交服务专题(一)

酵母双杂交系统是一种在酵母这种真核生物模型中执行的实验方法&#xff0c;用于探索活细胞内部蛋白质间的相互作用。这种技术能够敏感地捕捉蛋白质间的细微和短暂相互作用&#xff0c;通过检测报告基因的表达产物来实现。作为一种高度灵敏的技术&#xff0c;酵母双杂交系统被广…

Spring Cloud LoadBalancer 简单介绍与实战

前言 本文为SpringCloud的学习笔记&#xff0c;如有错误&#xff0c;希望各位高手能指出&#xff0c;主要介绍SpringCloudLoadBalancer的基本概念和实战 文章目录 前言什么是LoadBalancer负载均衡分类服务端负载均衡客户端负载均衡服务端负载均衡和客户端负载均衡的优缺点 常见…