2010-05-19 36 views
9

Tôi là một người mới thực sự khi nói đến gỡ lỗi PHP để tha thứ cho sự ngu ngốc của tôi. Tôi có một hình thức html đơn giản mà gửi đến một kịch bản PHP và tôi muốn gỡ lỗi kịch bản đó và xem những gì đang được gửi từ biểu mẫu.Gỡ lỗi PHP trong Aptana 2.0

Aptana của tôi đã cài đặt hai phiên dịch PHP; Zend Debugger trên cổng 10001 và XDebug trên 9000

Tôi có Firefox Aptana Addon cài đặt

Tôi có trang HTML của tôi vào url sau, chạy cục bộ;

http://3i/latest.html

Trong IDE tôi mở kịch bản PHP và thêm một số breakpoint, tôi sau đó mở latest.html và tôi nhấn vào nút gỡ lỗi. Nó khởi chạy trang HTML trong một máy chủ web cục bộ đang chạy;

http://127.0.0.1:8000/3i/latest.html

sau đó tôi điền vào mẫu và gửi điểm mà tại đó các debugger nói với tôi Debugger JS đã chấm dứt nhưng nó không dừng lại ở điểm break của tôi.

Tôi đã đọc rất tốt và tôi không thể tìm thấy bất kỳ thứ gì giúp tôi, điều này khiến tôi nghĩ rằng điều đó khá dễ dàng và tôi hơi ngớ ngẩn.

+0

Đối với bất kỳ ai đọc câu trả lời này, câu trả lời được cung cấp Phill Pafford bên dưới là câu trả lời hữu ích hơn.Thành thật mà nói, không ai giải quyết được vấn đề nhưng liên kết mà anh ta cung cấp có một công việc xung quanh bằng cách sử dụng một trình cắm thêm Firefox. Tôi đã không nhận ra rằng Stack tự động trao các điểm trên một tiền thưởng nếu tôi không chọn bất cứ ai. – screenm0nkey

Trả lời

3

Bạn nói rằng bạn đã cài đặt cả hai lỗi XDebug và Zend - bạn có thực hiện các sửa đổi thích hợp cho php.ini cục bộ của mình không? Bạn không thể chạy cả hai cùng một lúc - các trình gỡ rối hoạt động như các bộ điều khiển ứng dụng, giao tiếp với máy chủ web của bạn và đặt lệnh dừng, tạm dừng hoặc tiếp tục thực thi tập lệnh của bạn và có hai cấu hình được cấu hình cùng một lúc có thể gây ra hành vi gỡ lỗi không mong muốn như bạn đã mô tả.

Giả sử bạn muốn XDebug, bạn sẽ mở php.ini, tìm kiếm [XDebug] (hoặc [Zend]). Nhận xét tất cả các tùy chọn zend_ * và đưa các tùy chọn sau vào:

[XDebug] 
;; Only Zend OR (!) XDebug 
zend_extension_ts="C:\xampp\php\ext\php_xdebug.dll" 
xdebug.remote_enable=true 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 
xdebug.remote_handler=dbgp 
xdebug.profiler_enable=1 
xdebug.profiler_output_dir="C:\xampp\tmp" 

Vâng, tôi biết tôi đang ở trên Windows vào thời điểm này - không làm xáo trộn. Thay thế đường dẫn mở rộng bằng đường dẫn thích hợp tới XDebug trên máy chủ của bạn. Nếu bạn muốn sử dụng Zend Debugger thì nó cũng giống nhau, chỉ cần vô hiệu hóa XDebug. Đừng quên khởi động lại máy chủ web của bạn.

EDIT - Tôi có thể không rõ ràng; bạn có thể có cả hai cài đặt, bạn chỉ có thể không có cả hai chạy cùng một lúc.

+0

Xin chào Jarrod, tôi đã làm điều đó. Bây giờ, làm thế nào để cấu hình Aptana? Dưới đây là các thông tin trong php.ini của tôi zend_extension_ts = D: \ wamp \ bin \ php \ php5.2.6 \ ext \ php_xdebug-2.1.0RC1-5.2-vc6.dll xdebug.remote_enable = true Xdebug. remote_host = localhost xdebug.remote_port = 9000 xdebug.remote_handler = dbgp xdebug.profiler_enable = 1 xdebug.profiler_output_dir = "D: \ wamp \ tmp" – screenm0nkey

+0

Do bây giờ tôi phải nói thêm rằng như một thông dịch viên PHP trong Apatana. Khi tôi nhấp vào nút gỡ lỗi, nó sử dụng tệp thực thi Aptana xdebug cục bộ có trong thư mục plugins Aptana. – screenm0nkey

+0

Có một màn hình trong Aptana được gọi là "Chỉnh sửa thông dịch viên PHP". Bạn sẽ cần phải thay đổi đường dẫn thực thi để cài đặt Xdebug của riêng bạn và thay đổi đường dẫn (nếu bạn chưa có) thành tệp INI mà bạn muốn sử dụng. Về cơ bản, bạn cần thiết lập XDebug của bạn làm máy chủ gỡ lỗi (và nhắm vào đúng cổng) trong Aptana và nhấn máy chủ đó khi gỡ lỗi. –

0

Tôi đoán là bạn không có máy chủ web hỗ trợ PHP chạy trên máy cục bộ của bạn. Aptana 2.0 (không giống như Aptana 1.5) không được trang bị máy chủ web được bật PHP. Để xác nhận điều này, hãy truy cập liên kết của bạn (http://127.0.0.1:8000/3i/latest.html) trong Firefox và xem nguồn. Nếu bạn thấy mã nguồn PHP thực sự, điều đó có nghĩa là nó không được chạy qua một máy chủ web có bật php.

Có rất nhiều tùy chọn tốt cho máy chủ web PHP ngoài đó (ví dụ: XAMPP, WAMP, EasyPHP, UniServer), thực hiện một số việc googling và cài đặt. Bạn sẽ phải thiết lập một bí danh Apache để trỏ đến vùng làm việc Aptana của bạn và bạn có thể phải cài đặt riêng xdebug.

Trung thực Aptana 2.0 không phải là một IDE PHP rất tốt. Tôi sẽ gắn bó với Aptana 1.5 được trang bị máy chủ web có sẵn php.

+0

Hi Seth, Cảm ơn bạn đã phản hồi. Tôi đang chạy Apache và PHP 5.2.6, mà tôi đã cài đặt bằng WAMP. Vì vậy, người dùng http: //3i/latest.html đang chạy trên Apache nhưng khi tôi nhấn nút gỡ lỗi, nó tải nó vào máy chủ web cục bộ đang chạy trong Aptana. – screenm0nkey

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