簡體   English   中英

phpstorm xdebug與symfony2項目

[英]phpstorm xdebug with a symfony2 project

我正在嘗試使用xdebug和phpstorm調試symfony2應用程序。

我的本地開發環境是Ubuntu 14.04,apache2,Xdebug版本是2.2.7

我有這個工作在另一個PHP(而不是symfony2)項目與以下指南:

https://www.jetbrains.com/phpstorm/help/configuring-xdebug.html

https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm

當我執行bookmarlet設置cookie並開始調試這個symfony2項目時,phpstorm檢測到傳入連接(我接受),但沒有其他事情發生。 它不會在任何斷點處停止。

我有symfony2 phpstorm插件。 我試圖禁用它,也沒有得到任何東西。

這個答案看起來對我很好,但它也沒有

我嘗試的最后一件事是更改服務器調試配置,禁用路徑映射。 這樣phpstorm開始調試,但它在app_dev.php文件而不是我設置的任何斷點中斷。

我被困在這里,任何想法都將是appreacite

UPDATE

更多信息我沒有提到:

  • 我正在使用firefox我正在嘗試調試開發環境
  • 斷點是我自己的控制器中的一個動作,而不是供應商的動作。

UPDATE

這是我的xdebug配置

[XDebug]
zend_extension="/usr/lib/php5/20121212/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_port="9000"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="<AMP home\tmp>"

我不知道您使用的是哪種瀏覽器,但是,使用Chrome,我使用的是Xdebug助手擴展程序。

安裝擴展后,右鍵單擊它>選項,然后選擇PHPStorm作為IDE。

然后,使用調試附近的按鈕開始在PHPStorm上監聽連接。

編輯

這是我的XDebug配置:

zend_extension=/usr/lib/php5/20121212/xdebug.so
xdebug.max_nesting_level = 1000
xdebug.collect_params = 1
xdebug.collect_return = 1
xdebug.remote_enable = 1

您確定XDebug已正確安裝在您的計算機上嗎?

PHPStorm > Run > Edit Configurations... ,添加PHP Web應用程序調試配置文件並以這種方式填寫:

  • 名稱 :Acme項目
  • 服務器 :apache2(您可能需要添加自己的名稱 - 名稱,端口,地址,調試器)
  • 起始網址 :/app_dev.php
  • 瀏覽器 :默認

按確定即可完成!

我有一個類似的問題再次被證明是一個映射問題,使用PHPStorm遠程調試Symfony 2項目。

如果PHPStorm無法映射src文件位置,它將在app_dev.php的第一行代碼中斷(如果你設置了'Break on first line'),然后繼續直接通過/ src中設置的任何斷點(例如控制器,型號等)並且不標記任何錯誤。

  1. 轉到設置 - >語言和框架 - > PHP - >服務器
  2. 在左中窗格中選擇您的服務器(或使用'+'添加)
  3. 選中'使用路徑映射(選擇服務器是遠程服務器還是使用符號鏈接)'
  4. 添加映射以映射/ app,/ src和/ web。 這些可以是單獨的映射,但如果可能的話,更好地設置更高級別的映射/覆蓋它們。

一旦PHPStorm可以映射這些路徑,它就會停止和斷點,並且可以開始有意義的調試。

這是一個映射問題。 以下是完成這一操作的步驟

  1. 在“設置”>“語言和框架”>“PHP”>“服務器”>“取消選中”“使用路徑映射”下禁用路徑映射
  2. 開始調試
  3. 着名的“遠程文件路徑”路徑/ to / script / on / the / server.php'未映射到項目中的任何文件路徑“最終出現
  4. 然后我可以按照官方指南中的故障排除部分設置路徑映射

希望這對其他人有幫助

如果您發現PHPStorm不斷要求映射,請嘗試在@stanhope提到的項目的最高級別創建映射,這應該足夠了。

我的第一個映射被錯誤地設置為/ web中的app_dev.php文件,這意味着IDE一直要求我映射供應商目錄中的文件。

例如/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Response.php

在此輸入圖像描述

我還必須注釋掉類緩存的加載(symfony 2.7)。 我暫時在web/app_dev.php

//$kernel->loadClassCache();

否則調試發生在bootstrap.php.cache或斷點不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM