Cài đặt XDebug PHP-FPM Nginx PHPStorm trên Ubuntu Linux khá rắc rối. Trong bài này tôi ghi lại kinh nghiệm đã cấu hình để gỡ rối ứng dụng PHP bằng cách cài XDebug trong PHP-FPM, cấu hình cả trên server và máy trạm lập trình. Công cụ lập trình PHP ở đây là PHPStorm của hãng JetBrains. Hiện nay Techmaster là đối tác đào tạo được JetBrains cung cấp license sử dụng PHPStorm miễn phí.
Tham khảo bài viết Cài đặt Phalcon trên máy ảo để từng bước dựng máy chủ ảo hoá Ubuntu-Nginx-PHP-FPM,MySQL,vsFTP…
Cấu hình XDebug trong PHP-FPM trên web server
Bật Terminal , SSH vào Ubuntu server cài Nginx và PHP-FPM.
Gõ lệnh để sửa Xdebug.ini sudo nano /etc/php5/fpm/conf.d/xdebug.ini
Gõ password để mở nano và thêm các dòng lệnh như sau:
zend_extension=/usr/lib/php5/20090626/xdebug.so
xdebug.profiler_output_dir=/home/techmaster/profile
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0
xdebug.remote_enable=true
xdebug.remote_host=192.168.1.100
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_autostart=0
Nếu máy chủ Nginx-FPM là remote server (không cùng IP với máy tính lập trình, cài PHPStorm), thì dòng lệnh xdebug.remote_host=192.168.1.100 sẽ cho biết địa chỉ IP của máy tính cài PHPStorm. Nếu Nginx-FPM cài trên máy tính với PHPStorm thì xdebug.remote_host= 127.0.0.1 (localhost).
Khởi động lại PHP-FPM service sudo service php5-fpm restart. Lưu ý không cần khởi động lại Nginx service vì 2 dịch vụ này độc lập với nhau khác với trường hợp Apache-PHP.
Cấu hình PHPStorm
Cấu hình để PHPStorm nối vào XDebug. PHPStorm phải mở một cổng để XDebug gọi vào, trả về thông tin tại đoạn lệnh đang được gỡ rối
Lưu ý remote_port là 9001. Bạn có thể chọn port khác nhưng giống với xdebug.remote_port trong xdebug.ini trên máy chủ. Nếu lập trình trên môi trường Windows hãy đảm bảo là Firewall trên Windows không chặn máy tính khác gọi vào cổng này!
Cấu hình kết nối FTP server ở remote server. Nhớ ấn Test FTP Connection để kiểm tra kết nối
Ánh xạ mã nguồn ở máy lập trình vào mã nguồn trên máy chủ:
Menu Tool > Deployment > Configuration…
Nếu bạn muốn cập nhật ngay mã nguồn lên remote server khi lưu mã nguồn trong PHPStorm thì bật lựa chọn menu Tools > Deployment > Automatic Update.
Ánh xạ thư mục mã nguồn ở máy lập trình (local) và thư mục mã nguồn trên remote server. Lưu ý gõ đường dẫn tương đối với máy chủ FTP
Cấu hình Run/Debug Configurations
Một dự án PHP có thể cấu hình để chạy trên máy trạm local trước, nếu mọi thứ ổn thì có thể đẩy lên máy chủ (remote server) rồi tiếp tục kiểm thử. Hoặc lập trình viên muốn chạy PHPUnit để unit test trước….
Trong PHPStorm cần phải tạo cấu hình cụ thể trong từng hoàn cảnh. Ở đây tôi tạo cấu hình để gỡ rối trên remote server nên chọn
Chọn PHP Web Application -> chọn máy chủ -> đường dẫn tương đối ứng với dự án hiện tại
Cài thêm mở rộng (extension) JetBrains IDE Support trên Chrome
Trong quá trình phát triển web site, bạn cần có công cụ để gỡ rối cả mã JavaScript, HTML, CSS. Do vậy nên cài thêm JetBrains IDE Support.
Bình luận