2015-04-17 27 views
8

Tôi đã dành cả ngày cho việc này và vẫn không thể yêu cầu trình gỡ lỗi hoạt động trong PHPStorm với Google Chrome. Đây là các bước tôi đã chừng mực:PHPStorm, Xdebug và gỡ lỗi Google Chrome

1) Xác định vị trí mở rộng Xdebug sau khi cài đặt:

locate xdebug.so 
# => /usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so 

2) Chèn phần mở rộng trong file php.ini:

php –ini 
# => Configuration File (php.ini) Path: /etc 
# => Loaded Configuration File:   /etc/php.ini 
sudo vim /etc/php.ini 
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so 

3) Xác nhận Xdebug đang làm việc:

php -v 
PHP 5.4.30 (cli) (built: Jul 29 2014 23:43:29) 
Copyright (c) 1997-2014 The PHP Group 
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies 
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans 

4) Chuyển đến PHPStorm> Tùy chọn> Ngôn ngữ và khung> PHP. Nhấp vào biểu tượng mở rộng (hộp vuông) trên cùng dòng với “Thông dịch viên:”. Nhập vào đường dẫn thực thi php. Nhấp vào hộp làm mới để phiên bản trình gỡ lỗi bật lên. Nhấp vào ok và áp dụng.

enter image description here

5) Chuyển đổi nút “Start Nghe cho PHP gỡ lỗi Connections” trong PHPStorm.

enter image description here

6) Đặt điểm ngắt trong mã nguồn.

enter image description here

7) Tới url này https://www.jetbrains.com/phpstorm/marklets/. Chọn Tạo dưới Xdebug. Kéo "Trình gỡ lỗi bắt đầu", "Dừng trình gỡ lỗi" và "Gỡ lỗi trang này" vào Thanh dấu trang trong Google Chrome.

enter image description here

8) sau đó tôi tải lại trang web trong trình duyệt và không có đột phá gì cả. Tôi thậm chí đã thử sử dụng phần mở rộng google chrome xdebug và cũng không hoạt động. Trong video của họ, tuy nhiên, nó làm việc:

https://www.jetbrains.com/phpstorm/documentation/phpstorm-video-tutorials.jsp#10

tôi thiếu gì ở đây?

Theo câu trả lời dưới đây, đây là những gì phpinfo có gia hạn Xdebug:

xdebug 

xdebug support enabled 
Version 2.2.3 
IDE Key no value 

Supported protocols Revision 
DBGp - Common DeBuGger Protocol $Revision: 1.145 $ 

Directive Local Value Master Value 
xdebug.auto_trace Off Off 
xdebug.cli_color 0 0 
xdebug.collect_assignments Off Off 
xdebug.collect_includes On On 
xdebug.collect_params 0 0 
xdebug.collect_return Off Off 
xdebug.collect_vars Off Off 
xdebug.coverage_enable On On 
xdebug.default_enable On On 
xdebug.dump.COOKIE no value no value 
xdebug.dump.ENV no value no value 
xdebug.dump.FILES no value no value 
xdebug.dump.GET no value no value 
xdebug.dump.POST no value no value 
xdebug.dump.REQUEST no value no value 
xdebug.dump.SERVER no value no value 
xdebug.dump.SESSION no value no value 
xdebug.dump_globals On On 
xdebug.dump_once On On 
xdebug.dump_undefined Off Off 
xdebug.extended_info On On 
xdebug.file_link_format no value no value 
xdebug.idekey no value no value 
xdebug.max_nesting_level 100 100 
xdebug.overload_var_dump On On 
xdebug.profiler_aggregate Off Off 
xdebug.profiler_append Off Off 
xdebug.profiler_enable Off Off 
xdebug.profiler_enable_trigger Off Off 
xdebug.profiler_output_dir /var/tmp/ /var/tmp/ 
xdebug.profiler_output_name cachegrind.out.%p cachegrind.out.%p 
xdebug.remote_autostart Off Off 
xdebug.remote_connect_back Off Off 
xdebug.remote_cookie_expire_time 3600 3600 
xdebug.remote_enable Off Off 
xdebug.remote_handler dbgp dbgp 
xdebug.remote_host localhost localhost 
xdebug.remote_log no value no value 
xdebug.remote_mode req req 
xdebug.remote_port 9000 9000 
xdebug.scream Off Off 
xdebug.show_exception_trace Off Off 
xdebug.show_local_vars Off Off 
xdebug.show_mem_delta Off Off 
xdebug.trace_enable_trigger Off Off 
xdebug.trace_format 0 0 
xdebug.trace_options 0 0 
xdebug.trace_output_dir /var/tmp/ /var/tmp/ 
xdebug.trace_output_name trace.%c trace.%c 
xdebug.var_display_max_children 128 128 
xdebug.var_display_max_data 512 512 
xdebug.var_display_max_depth 3 3 
+0

Tôi không có PHPStorm trên máy tính này ngay bây giờ, nhưng tôi dường như nhớ phải định cấu hình nó bằng cách sử dụng lớp "máy chủ" trong các tùy chọn, trái ngược với ngôn ngữ và khung công tác – STLMikey

Trả lời

4

Trước hết hãy nhìn vào phpinfo() đầu ra trong trình duyệt:

<?php 
    phpinfo(); 
    exit; 
?> 

Đôi khi người ta sửa sai phiên bản php.ini (ví dụ được chỉ định cho PHP CLI, không dành cho Máy chủ Web) - Tôi đã gặp trường hợp này nhiều lần trong thực tế của mình. Vị trí của tệp này tùy thuộc vào hệ thống của bạn và để tìm hiểu thêm, bạn có thể đọc bài đăng này: Dude, where's my php.ini?

Sau đó, bạn cần kiểm tra các giá trị được chỉ định cho cá thể XDebug của bạn. Nếu bạn cần thay đổi thứ gì đó, bạn nên mở php.ini và tìm một phần [Xdebug] tại đó.

Trong trường hợp của tác giả, chúng tôi đã phát hiện ra sự cố đó ở số xdebug.remote_enable.Vì vậy, việc sửa chữa là:

[Xdebug] 
xdebug.remote_enable = 1 

Ngoài ra tôi khuyên bạn nên đọc "Hướng dẫn cài đặt XDebug" từ đội "Brains Jet": https://confluence.jetbrains.com/display/PhpStorm/Xdebug+Installation+Guide trong đó họ bao gồm các bước tương tự như tôi đã mô tả nhưng trong một cách chi tiết hơn.

Các vấn đề liên quan