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.pswp.cn/news/167245.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167245.shtml
英文地址,請注明出處:http://en.pswp.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. 展示工作坐標系。 …

Android 11.0 默認開啟USB調試功能

Android 11.0 默認開啟USB調試功能 近來收到項目反饋需求想要默認開啟USB調試功能&#xff0c;默認開啟USB調試功能主要是在UsbDebuggingActivity.java文件中實現&#xff0c;具體修改參照如下&#xff1a; /vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/and…

狀態模式 (State Pattern)

定義 狀態模式&#xff08;State Pattern&#xff09;是一種行為型設計模式&#xff0c;它允許一個對象在其內部狀態改變時改變它的行為。這種模式將每個狀態的行為封裝到對應的狀態類中&#xff0c;使得上下文&#xff08;Context&#xff09;的行為隨著其內部狀態的改變而改…

公眾號違禁詞及違規行為匯總

1、微信官方發布《微信公眾平臺關于清理集贊行為的公告》&#xff0c;全面禁止公眾賬號“集贊”玩法。 微信對違反微信用戶協議和公眾平臺協議的公眾號處理機制是&#xff0c;公眾號累計發現一次有集贊行為&#xff0c;封號7天&#xff1b;公眾號累計發現二次有集贊行為&#…

面試:ShardingSphere問題

文章目錄 什么是ShardingSphere&#xff0c;它的主要功能是什么&#xff1f;ShardingSphere的核心模塊有哪些&#xff1f;他們是如何工作的&#xff1f;ShardingSphere 的讀寫分離是如何實現的&#xff1f;如何配置ShardingSphere的數據分片策略&#xff1f;ShardingSphere支持…

【運維面試100問】(六)buffer和cache的區別

本站以分享各種運維經驗和運維所需要的技能為主 《python零基礎入門》&#xff1a;python零基礎入門學習 《python運維腳本》&#xff1a; python運維腳本實踐 《shell》&#xff1a;shell學習 《terraform》持續更新中&#xff1a;terraform_Aws學習零基礎入門到最佳實戰 《k8…

【Linux】匿名管道+進程池

文章目錄 前置知識一、管道的原理二、管道的特性三、管道的接口四、使用管道實現簡單的進程池解決進程池的一個小問題 前置知識 一個進程在創建時&#xff0c;會默認打開三個文件&#xff0c;分別是&#xff1a;stdin&#xff0c;stdout&#xff0c;stderr 進程中有一個維護進…

1linux

Is查看目錄內容 ls -ahil a表示全部&#xff0c;h表示文件大小以人類易讀的形式給出&#xff0c;i表示索引節點&#xff0c;l表示長列表形式。 cd 切換目錄 touch 創建文件 mkdir 創建目錄 mkdir Makedirectory&#xff0c;創建目錄&#xff0c;-p指定路徑&#xff0c;-m指定權…

炫我出席數字光影工作室專業建設論壇,受聘為專家委員會委員!

11月18日&#xff0c;炫我科技受邀參加在北京深瀾AI空間舉辦的2023數字光影工作室專業建設論壇。本次活動由北京市新媒體技師學院主辦、北京瀾景科技有限公司協辦&#xff0c;私有云售前技術工程師龔琛代表我司出席&#xff0c;并受聘為新媒體技師學院數字光影工作室專家委員會…

Mysql基礎操作(命令行)

文章目錄 Mysql基礎操作&#xff08;命令行&#xff09;背景創建數據庫選擇數據庫查看所有表查看表結構向表插入數據插入第一條插入第二條插入第三條 查詢表數據修改表數據刪除表數據 Mysql基礎操作&#xff08;命令行&#xff09; 背景 docker安裝mysql8&#xff0c;映射本地…

ubuntu下,PX4使用 upload 下載代碼沒反應

可能原因&#xff0c;沒有串口權限 sudo chmod 777 /dev/ttyACM0開啟串口權限&#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上有中文翻譯的…

【不同請求方式在springboot中對應的注解】

GET 請求方法&#xff1a;用于獲取資源。使用 GetMapping 注解來處理 GET 請求。 示例代碼&#xff1a; RestController public class MyController {GetMapping("/resource")public ResponseEntity<String> getResource() {// 處理 GET 請求邏輯} }POST 請求方…

喜訊!云起無垠成為國家信息安全漏洞庫(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## 第六十…

CMake使用file(GLOB ...)需要注意的問題

文章目錄 基本語法使用例子潛在的問題大型項目中推薦的用法 file(GLOB ...) 命令用于獲取匹配指定模式的文件列表。在 CMake 中&#xff0c;file(GLOB ...) 命令的一種常見用法是用于收集源文件列表&#xff0c;例如 C 源文件&#xff08;.cpp&#xff09;和 C 源文件&#xff…