2009-12-22 7 views
8

Tôi thử sử dụng xdebug với NetBeans để gỡ lỗi PHP. Tôi bắt đầu gỡ lỗi, và NetBeans chờ đợi bao giờ hết cho một kết nối với xdebug. Tôi có NetBeans 6.8 (phiên bản mới nhất) với gói MAMP mới nhất được cài đặt trên mac của tôi.Tại sao xdebug không thiết lập kết nối với NetBeans?

php.ini của tôi trông như thế này:

[xdebug] 
;zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so" 
xdebug.remote_enable=on 
xdebug.remote_handler=dbgp 
xdebug.remote_mode=req 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 

Trả lời

9

Nếu php.ini của bạn thực sự trông giống như những gì bạn đăng, bạn phải bỏ bình luận các zend_extension dòng (tức là loại bỏ các ';' tại của nó begninning), vì vậy Xdebug thực sự được tải.

Sau đó, hãy đảm bảo Xdebug được tải, gọi phpinfo() từ tệp PHP (chỉ để chắc chắn).

Sau đó: Tôi cho rằng có một số tùy chọn để định cấu hình trình gỡ lỗi trong netbeans? Nếu vậy, netbeans đang nghe trên cổng 9000? (Một bạn đã cấu hình trong php.ini)

+0

Tôi Phải khởi động lại tất cả các máy chủ sau khi thay đổi php.ini? Đã bỏ ghi chú đó và kiểm tra cài đặt NetBeans. Cổng 9000 là đúng. Nhưng NetBeans cũng đề cập đến một ID phiên: "netbeans-xdebug". Tôi có phải cung cấp một nơi nào đó trong php.ini không? – openfrog

+2

Bạn sẽ phải khởi động lại ít nhất Apache (sửa đổi cho php.ini chỉ được tính đến khi Apache khởi động); đối với ID phiên, có cài đặt xdebug.idekey (xem http://xdebug.org/docs/remote); không chắc chắn nó sẽ làm các trick, nhưng nó có thể - không bao giờ nhớ đã thiết lập, mặc dù; Tôi cho rằng giá trị mặc định là tốt với Eclipse PDT (tôi thường sử dụng PDT eclipse, và không netbeans) –

10

Cuối cùng, tôi đã có thêm giá trị idekey như thế này:

xdebug.idekey="netbeans-xdebug" 

bây giờ nó hoạt :-)

+2

Lưu ý: Tôi chọn câu trả lời của Pascal MARTIN như là một chấp nhận, bởi vì không cho phép xdebug bằng cách bỏ ghi chú nó, điều idekey của tôi sẽ không làm gì cả ;-) (bên cạnh đó tôi cảm thấy xấu chấp nhận câu trả lời của riêng tôi vì vậy tôi chỉ không làm điều đó) – openfrog

+0

Cảm ơn câu trả lời của bạn anyway: điều này có thể chứng minh hữu ích cho người khác! –

+0

Tôi hy vọng nó sẽ :-) có lẽ bạn đã đúng, idekey này là theo mặc định tốt cho Eclipse. – openfrog

6

Các cài đặt sau làm việc cho tôi với NetBeans 7.2 trên Mountain Lion sau khi khởi động lại Apache:

zend_extension = /usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so 
xdebug.remote_autostart=on 
xdebug.remote_enable=on 
xdebug.remote_handler=dbgp 
xdebug.remote_host=127.0.0.1 
xdebug.remote_port=9000 
xdebug.remote_mode=req 
xdebug.idekey="netbeans-xdebug" 
+1

những làm việc cho tôi! Cảm ơn! +1 – Anil

+0

Tôi cũng đã thay đổi webroot dự án '(nhấp chuột phải vào dự án> thuộc tính) 'to' app/webroot/', Không chắc chắn nếu điều này đã giúp, nhưng đã nhận nó cho tôi! ; D – Anil

+1

Một gazillion cảm ơn bạn !!!! – jx12345

1

Người dùng Mac/MAMP: Nếu bạn đã thử tất cả những điều trên và vẫn không hoạt động, hãy khởi động lại máy Mac. Khởi động lại máy chủ thông qua MAMP là không đủ.

0

cho tôi làm việc theo cách này (cảm ơn các bạn +1)/o/

<pre> 
zend_extension = "c:\xampp\php\ext\php_xdebug2.dll" 
xdebug.remote_autostart=on 
xdebug.remote_enable=on 
xdebug.remote_enable=1 
xdebug.remote_handler"dbgp" 
xdebug.remote_host="localhost" 
xdebug.remote_port=9000 
xdebug.remote_mode=req 
xdebug.idekey="netbeans-xdebug" 
</pre> 

Config:
netbeans 7.3 - php 5.4 - Xdebug 2.2 - xampp - win7 (32bits)

1

tôi sử dụng sau đây với XAMPP 1.8.2 và NetBeans 7.4 với thành công.

[XDebug] 
zend_extension = "C:\xampp\php\ext\php_xdebug.dll" 
xdebug.idekey="netbeans-xdebug" 
xdebug.profiler_append = 0 
xdebug.profiler_enable = 1 
xdebug.profiler_enable_trigger = 0 
xdebug.profiler_output_dir = "C:\xampp\tmp" 
xdebug.profiler_output_name = "cachegrind.out.%t-%s" 
xdebug.remote_enable = on 
xdebug.remote_enable = 1 
xdebug.remote_handler = "dbgp" 
xdebug.remote_mode=req 
xdebug.remote_host = "localhost" 
xdebug.trace_output_dir = "C:\xampp\tmp" 
0

Tôi đã đọc rằng Xdebug không làm việc với các phiên bản của PHP gì tàu với OS X. Tôi đã nhận nó để làm việc bằng cách cập nhật php từ phiên bản 5.4 đến 5.5, sử dụng một gói phần mềm tiện dụng từ php-OSX .liip.ch, bao gồm phần mở rộng xdebug được biên dịch trước. Sử dụng lệnh này:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5 

Lưu ý rằng điều này sẽ giữ nguyên cài đặt mặc định php của bạn, nhưng tắt nó trong httpd.conf. Php.ini mới của bạn sẽ có tại "/usr/local/php5/lib/php.ini", với tệp cấu hình xdebug tại "/usr/local/php5/php.d/50-extension-xdebug.ini".

Setup: OS X phiên bản 10.9.2

Nguồn: http://coolestguidesontheplanet.com/upgrade-to-php-5-4-or-5-5-mac-osx-10-8-mountain-lion/