windows7下的PHP開發環境搭建(iis7 + PHP7 + PHPStorm2016.2.1)

来源:http://www.cnblogs.com/fengbao/archive/2016/10/14/5961980.html
-Advertisement-
Play Games

之前是一直做asp.net開發的,Visual Studio 2012 用起來感覺是相當的舒服,調試功能也是相當好、相當智能,大大的提高了開發效率減少了程 序BUG的出現,而且直接安裝好就能用了,無需多餘的操作,非常方便。 由於這次要做PHP開發,為了搭建開發環境也是搜索了不少資料,選擇IDE也是參 ...


      之前是一直做asp.net開發的,Visual Studio 2012 用起來感覺是相當的舒服,調試功能也是相當好、相當智能,大大的提高了開發效率減少了程

序BUG的出現,而且直接安裝好就能用了,無需多餘的操作,非常方便。

      由於這次要做PHP開發,為了搭建開發環境也是搜索了不少資料,選擇IDE也是參考了不少資料,我的首要目標就是要調試方便的,其實之前都沒有

接觸過,最後選擇了PHPStorm(主要是看界面清爽),為了弄好調試功能也是搜索資料弄了好久啊,感覺還是沒有VS方便,安裝完成直接能用。所以

現在把搭建環境的整個過程記錄下來。

 

一、windows7環境下安裝php7

      首先得開啟系統的IIS,點擊 控制面板→程式和功能→打開或關閉windows功能 ,然後勾選 Internet信息服務 如下圖所示

點擊確定,安裝完成就可以了。

      接下來就能通過 控制面板→管理工具 里找到 Internet 信息服務(IIS)管理器

     安裝好了IIS,接下來需要安裝 PHP Manager 通過微軟官方下載 https://www.iis.net/downloads/community/2010/09/php-manager-for-iis-7

下載安裝非常簡單,安裝完成以後打開IIS就能看到PHP Manager 如下圖所示

      接下來需要去PHP官網下載PHP7了,下載鏈接: http://windows.php.net/download#php-7.0

根據你的系統選擇32位,或64位的吧,我下載的是 VC14 x64 Non Thread Safe zip 版本,也就是64位非線程安全版本。

下載完成解壓到你想存放的位置,我這裡是解壓到了 C:\php7.0

接下來在IIS里雙擊 PHP Manager 選項,然後點擊 Register new PHP version,選擇剛纔php解壓的文件夾里選擇php-cgi.exe,如下圖

點擊 確定 以後就安裝好了php7了。

可以通過IIS新建網站來測試一下PHP文件是否能正常訪問,請看下麵第四大步的IIS演示。

 

二、PHPStrom 2016.2.1的安裝

    PHPStrom的安裝就非常簡單了,官網下載地址:https://www.jetbrains.com/phpstorm/

    因為是收費軟體,為了能用上需要破解一下,啟動PHPStrom以後  選擇 license server 然後複製 http://jetbrains.tencent.click/ 這個地址進去就可以了。然後就能正常使用了,不知道這個地址以後會不會失效 ^_^。

 

      好了,PHPStrom已經安裝好了,因為是英文版的,如果需要漢化包的話,可以自己網上搜索一下漢化包,然後將下載的漢化包複製到PhpStorm安裝目錄下的lib目錄,重啟即可。

 

三、調試工具 xdebug 的安裝

      xdebug目前的最新版本是2.4.1版,官網下載地址:https://xdebug.org/download.php

根據你的系統下載32位或64位版本,我們之前下載的PHP是64位非線程安全版本,所以xdebug也下載64位非線程安全版本,下載版本為 PHP 7.0 VC14 (64 bit)

下載完成後將下載文件 php_xdebug-2.4.1-7.0-vc14-nts-x86_64.dll 存放到你想存放的位置,這裡為了方便管理我將文件存放到php文件目錄下的ext文件夾下。

      接下來配置php.ini,在 C:\php7.0 目錄下打開php.ini文件,在該文件的最後添加以下文本

[XDebug]
zend_extension_ts="C:\php7.0\ext\php_xdebug-2.4.1-7.0-vc14-nts-x86_64.dll"  //這裡是xdebug下載的動態鏈接庫的存放路徑 建議使用絕對路徑
xdebug.remote_enable=1  //是否允許遠程終端 這裡標示開啟
xdebug.remote_handler=dbgp
 xdebug.remote_mode=req
 xdebug.remote_host=localhost
 xdebug.remote_port=9000  //這裡表示伺服器的監聽埠
xdebug.idekey="PHPSTORM"  //這裡是調試器的關鍵字 在Chrome以及FireFox中插件配置的時候要用到

如下圖

接下來驗證Xdebug是否安裝成功

在命令提示符里輸入 C:\php7.0\php.exe -m

 

四、在PhpStorm中來配置Xdebug

      首先啟動PhpStorm ,創建一個新項目,我這裡新建了一個名為csPHP的空項目 存放路徑為 D:\csPHP

項目里新建了一個index.php文件

接下來打開iis 新建一個名為csphp網站,指向我們剛纔新建項目的目錄 D:\csPHP  埠設置為 801

點擊 確定 網站添加成功。

在index.php文件寫了簡單的代碼

IIS 里瀏覽

可以成功瀏覽,說明php已經配置好了

瀏覽的地址為 http://localhost:801/index.php

 

接下來就需要在PhpStorm 裡面配置了

點擊 文件→設置

 

語言和框架 里點擊 php

PHP language level 選擇 7

再點擊 Interpreter 選項

點擊 “加號” , 如下選擇

設置好了以後點擊 確定

 

接下來在 語言和框架→PHP→Debug→DBGp Proxy 選項里如下設置

IDE key: PHPSTORM         //這裡對應的是 xdebug.idekey 的值
Host:localhost                  //這裡對應的是我們項目的瀏覽地址
Port:9000                       //這是埠號

設置完成後點擊 確定。

然後點擊 運行→編輯配置 打開選項

點擊 Defaults→PHP Web Application

Browser 選項 選擇谷歌瀏覽器 Chrome 點擊 確定。

因為接下來 我們要在谷歌瀏覽器安裝 Xdebug helper 插件

在谷歌的 擴展程式 里搜索到 Xdebug helper 並添加

添加成功並啟用後 點擊 選項

在選項里 IDE key 選擇 PHPSTORM 並且保存

 

到此這些環境配置終於全部都完成了。

 

最後測試一下 PHPSTORM 的調試吧

在項目里 點擊 這個圖標打開監聽

設置斷點 點擊谷歌瀏覽器進行調試

當項目第一進行調試的時候會出現如下界面

選擇整個項目點擊 Accept 接受,所有的項目文件都可以進行調試了

 

調試結果一目瞭然,所有的變數結果都能看到

 

好了 到此終於完成了全部的配置了, 以後還會將開發項目的過程也一併記錄下來。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 輸出那點兒事 printf函數是一個標準庫函數,能夠以精確的格式輸出程式運算的結果 printf函數的調用格式: 格式控制字元串 是由格式字元(包括:轉換說明符、標誌、域寬、精度)和普通字元組成,轉換說明符和 一起使用,用來說明輸出數據的數據類型、標誌、長度和精度 格式控制的完整格式: :表示格式說 ...
  • 一、定義 DLL是Dynamic Link Library的縮寫,意為動態鏈接庫。在Windows中,許多應用程式並不是一個完整的可執行文件,它們被分割成一些相對獨立的動態鏈接庫,即DLL文件,放置於系統中。當我們執行某一個程式時,相應的DLL文件就會被調用。一個應用程式可有多個DLL文件,一個DL ...
  • 一、Python的介紹 python的創始人為吉多.範羅蘇姆。1989年的聖誕期間,吉多.範羅蘇姆為了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程式,作為ABC語言的一種繼承。 二、Python是一門什麼樣的語言? 編程語言主要是從以下幾個角度進行分類,編譯型和解釋型、靜態語言和動態語言、強類型 ...
  • 一直以來把資料庫的表轉換成Entity或DTO都是一件讓人頭痛的事情,既浪費時間又很繁瑣,用其他工具生成多少會有一些不盡人意的地方,於是就自己用Swing寫了一個通過資料庫的表生成JavaBean的工具,支持MySQL、Oracle、SQLServce、PostgreSQL,完美支持JPA註解,可以... ...
  • 線程間的通信:多個線程在處理同一資源,但是任務卻不同。一、等待喚醒機制涉及的方法:1.wait();讓線程處於凍結狀態,被wait的線程會被存儲到線程池中2.notify();喚醒線程池中的一個任意線程3.notifyAll();喚醒線程池中的所有線程這些方法都必須定義在同步中,因為這些方法是用於操 ...
  • 字元: 字元是可使用多種不同字元方案或代碼頁來表示的抽象實體。例如,Unicode UTF-16 編碼將字元表示為 16 位整數序列,而 Unicode UTF-8 編碼則將相同的字元表示為 8 位位元組序列。公共語言運行庫使用 Unicode UTF-16(Unicode 轉換格式,16 位編碼形式 ...
  • 最近在做學校的課程設計,java編程需要用到對話框彈出,第一反應是js中的alert和confirm,java的話瞬間懵,查閱學習總結如下,用以以後的學習 1.顯示一個錯誤對話框,該對話框顯示的 message 為 'alert':JOptionPane.showMessageDialog(null ...
  • *************************hibernate.cfg.xml <?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Confi ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...