Là một lập trình viên PHP, thì công việc của bạn thường xuyên phải debug PHP, xử lý các vấn đề vễ lỗi PHP. Vì vậy hôm nay mình xin giới thiệu với các bạn 1 extension rất hữu ích cho việc debug các chương trình viết bằng ngôn ngữ lập trình PHP.
Giới thiệu về Xdebug
Xdebug là gì? Xdebug là một chương trình PHP mở rộng (PHP Debug Extension) giúp các lập trình viên có thể dễ dàng hơn trong việc debug cho chương trình.
Thông tin debug (gỡ lỗi) mà Xdebug có thể cung cấp bao gồm:
- Thông tin đầy đủ về đường dẫn, vị trí của thông báo lỗi PHP
- Thông tin về bộ nhớ cấp pháp cho chương trình
- thông tin lược tả cho các tập lệnh PHP (PHP Profiles)
- Phân tích phạm vi mã
Xdebug giúp cho việc debug trở lên dễ dàng bằng việc cho phép các lập trình viên tạo các điểm breakpoint ( điểm dừng ) ở các vị trí khác nhau trên đoạn source code của chương trình để tạm dừng quá trình thực thi của chương trình ở vị trí đó, đồng thời đưa ra phân tích cho đoạn source của chương trình.
Cài đặt Xdebug với XAMPP trên Ubuntu
Đâu tiên cần cài đặt XAMPP – Phần mềm PHP Webserver Stack, các bạn có thể tham khảo hướng dẫn ở đây: Cài đặt và cấu hình Xampp trên Windows/Linux
1. Ubuntu Software Update
Trong repository của Ubuntu có sẵn Xdebug Extension để cài đặt các bạn dùng command sau:
sudo apt-get install php5-xdebug
2. Compile Xdebug Source
Để download và compile trực tiếp từ source các bạn sử dụng các command sau:
wget https://xdebug.org/files/xdebug-2.6.1.tgz tar -xvzf xdebug-2.6.1.tgz cd xdebug-2.6.1 sudo /opt/lampp/bin/phpize sudo ./configure –enable-xdebug –with-php-config=/opt/lampp/bin/php-config sudo make sudo cp modules/xdebug.so /opt/lampp/lib/php/extensions/no-debug-non-zts-20170718
Updated: Trường hợp compile source với php7.2 và xdebug 2.7
wget https://xdebug.org/files/xdebug-2.7.0.tgz tar -xvzf xdebug-2.7.0.tgz cd xdebug-2.7.0/ sudo apt-get install autoconf sudo /opt/lampp/bin/phpize sudo ./configure --with-php-config=/opt/lampp/bin/php-config sudo make sudo cp modules/xdebug.so /opt/lampp/lib/php/extensions/no-debug-non-zts-20170718/ sudo /opt/lampp/lampp restart
3. PECL Installation
Sử dụng command sau:
sudo /opt/lampp/bin/pecl install xdebug
Nếu kết quả câu lệnh trên giống như bên dưới thì các bạn compile thành công
Nếu gặp lỗi: ERROR: `phpize’ failed
Thì các bạn chạy lệnh bên dưới
sudo apt install php-dev
Cấu hình Xdebug
Để xdebug hoạt động cùng với XAMPP cần thêm thông tin vào file php.ini của XAMPP
Trên Ubuntu sửa file /opt/lampp/etc/php.ini và thêm đoạn source sau:
Với Xdebug v2:
[zend] zend_extension="/opt/lampp/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so" [xdebug] xdebug.remote_enable=1 xdebug.remote_autostart = 1 xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.remote_handler=dbgp
Với xdebug 3:
[Xdebug] zend_extension="/opt/lampp/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so" xdebug.mode=debug xdebug.start_with_request=yes ;# 9003 is now the default (set this for old PhpStorm settings). xdebug.client_port=9000
Sau đó khởi động lại xampp
Kiểm tra xdebug đã cài đặt thành công chưa sử dụng command sau:
/opt/lampp/bin/php -m
Nguồn: vinasupport.com