Khi bạn phát triển một ứng dụng Web bằng Laravel, khả năng sẽ phát sinh ra lỗi. Các bạn cần 1 công cụ để giúp bạn tìm và gỡ lỗi. Với PHP công cụ thường được sử dụng nhất là Xdebug. Thật may mắn chúng ta có thể sử dụng Xdebug với PHPStorm. Sau đây mình xin hướng dẫn các bạn cài đặt, cấu hình, và debug Laravel với PHPStorm và Xdebug.
Cài đặt xdebug Extension trên trình duyệt Chrome / Firefox
Các bạn tham khảo hướng dẫn cài đặt xdebug Extension ở đây
Sau khi cài đặt thì enable extension trên trình duyệt
Cài đặt PHP Xdebug
Để cài đặt PHP Xdebug các bạn vui lòng tham khảo bài viết sau: Cài đặt và cấu hình PHP Xdebug
Debug Laravel với PHP Built-in web Server trên PHPStorm
Khởi động PHPStorm
Chọn [ Run ] => [ Edit Configurations ] => [ + ] => [ PHP Built-in Web Server ]
Điền các thông tin cần thiết sau:
Phần Server Configuration
- Name: Tên tùy ý
- Host: localhost
- Port: 8000
- Document Root: Đường dẫn tới thư mục public của Laravel
- Use router script: Đường dẫn tới file server.php của Laravel (Với Laravel 9.x trở lên ko cần cấu hình tham số này nữa)
Phần Commmand Line
- Interpreter options
Với xdebug version 2: -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1
Với xdebug version 3: -dxdebug,develop,trace - Custom working directory: Đường dẫn tới thư mục root của Laravel
Debug Laravel với PHP Web Page trên PHPStorm
Chọn [ Run ] => [ Edit Configurations ] => [ + ] => [ PHP Web Page ]
Điền các thông tin sau:
- Name: Tên tùy ý
- Server: Chọn 1 server có sẵn ( Nếu chưa có tham khảo phần [Tạo Debug Server] ở bên dưới)
- Browser: Chọn trình duyệt để khởi động, Bình thường sẽ là trình duyệt mặc định của máy tính
Tạo Debug Server
- Name: Tên gì tùy ý
- Host: localhost
- Port: 8000
- Debuger: Xdebug
Hướng dẫn debug Laravel
Đầu tên Set Breakpoint để debug
Với Laravel Build-in Server
- Chọn cấu hình debug
- Lắng nghe Xdebug
- Start ứng dụng để debug
Với Laravel Web Page
- Chọn cấu hình debug
- Lắng nghe Xdebug
- Start debug đẻ debug
Chú ý với Laravel Web Page các bạn phải khởi động Laravel trước bằng lệnh php artisan serve
Kết quả:
Nguồn: vinasupport.com