2016-03-08 28 views
16

Tôi đang cố gắng thiết lập Xdebug vì tôi mệt mỏi khi sử dụng các âm vang và var_dumps. Tôi đang sử dụng Atom làm IDE của mình với số php-debug plugin. Tôi đang sử dụng laravel Homestead vm làm máy chủ. chuyển tiếp cổng 9000-9999 Atom có ​​các plugin cài đặt với các cài đặt sau: enter image description hereAtom + Xdebug setup

tôi đặt một breakpoint trong Atom, tôi duyệt đến trang web của tôi nhưng breakpoint không kích hoạt. Tôi có linh cảm rằng nó có liên quan đến khóa IDE nhưng tôi không biết cách tiếp tục. enter image description here

Có ai biết khóa IDE cho nguyên tử không? Hoặc có điều gì khác tôi đang thiếu?

chỉnh sửa: Tôi đã thêm phần sau đây để xdebug.ini:

xdebug.auto_trace = 0 
xdebug.collect_includes = 1 
xdebug.collect_params = 1 
xdebug.collect_return = 0 
xdebug.collect_vars = "Off" 
xdebug.default_enable = "On" 
xdebug.dump.COOKIE = "" 
xdebug.dump.FILES = "" 
xdebug.dump.GET = "" 
xdebug.dump.POST = "" 
xdebug.dump.REQUEST = "" 
xdebug.dump.SERVER = "" 
xdebug.dump.SESSION = "" 
xdebug.dump_globals = 1 
xdebug.dump_once = 1 
xdebug.dump_undefined = 0 
xdebug.extended_info = 1 
xdebug.file_link_format = "" 
xdebug.idekey = "VVVDEBUG" 
xdebug.manual_url = "http://www.php.net" 
xdebug.max_nesting_level = 100 
xdebug.overload_var_dump = 1 
xdebug.profiler_append = 0 
xdebug.profiler_enable = 0 
xdebug.profiler_enable_trigger = 1 
xdebug.profiler_output_dir = "/tmp" 
xdebug.profiler_output_name = "cachegrind.out.%t-%s" 
xdebug.remote_autostart = 1 
xdebug.remote_enable = 1 
xdebug.remote_handler = "dbgp" 
xdebug.remote_host = "192.168.50.1" 
xdebug.remote_log = /srv/log/xdebug-remote.log 
xdebug.remote_mode = "req" 
xdebug.remote_port = 9000 
xdebug.show_exception_trace = 0 
xdebug.show_local_vars = 0 
xdebug.show_mem_delta = 0 
xdebug.trace_format = 0 
xdebug.trace_options = 0 
xdebug.trace_output_dir = "/tmp" 
xdebug.trace_output_name = "trace.%c" 
xdebug.var_display_max_children = -1 
xdebug.var_display_max_data = -1 
xdebug.var_display_max_depth = -1 

Trả lời

1

chính IDE là xdebug.atom cho tôi (mac/apache). Trong cấu hình gỡ lỗi php của Atom, hãy đặt cổng máy chủ thành 9000

+0

Nó hoạt động với tôi trên Ubuntu 16.04 :-). – erknrio

4

Giống như @sparkos72 nói, khóa id nguyên tử xdebug.atom hoạt động trên Ubuntu 16.04 và Debian 7 :-). Tôi cố gắng mở rộng câu trả lời của họ.

Tôi đã sử dụng tiện ích mở rộng php-debug nguyên tử với cấu hình này trong xdebug.ini (đường dẫn: /etc/php5/apache2/conf.d/xdebug.ini).

xdebug.remote_enable=1 
xdebug.remote_handler=dbgp 
xdebug.remote_mode=req 
xdebug.remote_host=172.17.0.1 
xdebug.remote_port=9000 
xdebug.idekey=xdebug.atom 
xdebug.remote_autostart=true 

Tôi có vùng chứa docker với debian 7 + apache + php 5, đó là lý do vì tôi sử dụng ip 172.17.0.1 thay vì 127.0.0.1. Máy "thực" của tôi là một Ubuntu.

Hy vọng điều đó sẽ hữu ích.

0

Tôi biết nó là muộn nhưng một lần nữa:

tập tin .ini của bạn có thế này:

xdebug.idekey = "VVVDEBUG" 

có nghĩa là bạn cần phải thiết lập giá trị "VVVDEBUG" (không có dấu ngoặc kép) trong "The Xdebug dễ nhất "cài đặt tiện ích mở rộng nơi bạn sử dụng" Atom "hiện tại là

0

Không có câu trả lời nào phù hợp với tôi, vì vậy tôi sẽ để lại một trong những câu trả lời của riêng tôi.

Cài đặt

  • Hãy chắc chắn rằng Xdebug được kích hoạt; sudo phpenmod xdebug hoặc tương đương
  • Hãy chắc chắn rằng Xdebug được cấu hình đúng:
    • xdebug.remote_enable = 1
    • xdebug.remote_handler = dbgp
    • xdebug.remote_mode = req
    • xdebug.remote_host = 172.17.0.1 (theo thiết lập của bạn)
    • xdebug.remote_port = 9000 (theo thiết lập của bạn)
  • Chẳng phải làm xdebug.remote_autostart vì nó bắt đầu công cụ gỡ lỗi ngay cả đối với các yêu cầu bình thường. Vì vậy, ngay cả khi bạn không ở chế độ gỡ lỗi cho tiện ích mở rộng Chrome/Firefox, một nỗ lực truyền đạt dữ liệu gỡ lỗi sẽ được thực hiện, điều này có thể làm chậm mọi thứ mà không cần bất kỳ lý do gì.
  • Cài đặt tiện ích mở rộng Xdebug chrome/firefox và thiết lập Khóa IDE là xdebug-atom (Tôi đã tìm thấy xdebug.atom cũng đang hoạt động).

Debugging

Khi bạn thực sự muốn gỡ lỗi gì đó,

  • Thêm một breakpoint mà bạn muốn trong mã của bạn; Alt + F9 hoặc tương đương.
  • Mở bảng điều khiển PHP Debug trong Atom; Ctrl + Alt + D hoặc tương đương. Nếu bạn đang sử dụng một số phiên bản Ubuntu, bạn có thể muốn thay đổi phím tắt Ctrl + Alt + D có thể hoạt động như Hiển thị Máy tính để bàn. Trong trường hợp đó, hãy nhấp vào nút Gỡ lỗi PHP trong IDE để chuyển đổi trình gỡ rối.
  • Trình gỡ lỗi phải nói điều gì đó như Lắng nghe cổng 9000 hoặc cổng bạn thiết lập trong cài đặt Gỡ lỗi PHP.
  • Mở trang bạn muốn gỡ lỗi trong trình duyệt của mình (nếu chưa mở) và nhấp vào biểu tượng tiện ích gỡ lỗi để bật chế độ Gỡ lỗi. Điều này thực sự đặt cookie trong tài liệu của bạn như XDEBUG_SESSION=xdebug-atom, v.v.
  • Khi tiện ích gỡ lỗi được bật, hãy làm mới trang và bạn sẽ có thể sử dụng trình gỡ lỗi (nếu mọi thứ đã đi đúng).

Hy vọng điều này sẽ hữu ích. Mất một lúc để làm cho nó hoạt động. Bây giờ tôi không phải mua PHP Storm!

0

Khóa IDE là xdebug-atom cho tôi trên PHP3.2 + ATOM + XAMPP + XDEBUG Trình trợ giúp, khuyên bạn nên sử dụng Trình trợ giúp XDEBUG, bạn có thể đặt khóa IDE ở đó.