mình đã từng cài xdebug, Cài thông qua PECL và ôi bà mẹ nó không chạy các bạn ạ. Hôm nay mình sẽ hướng dẫn cài thông qua download trực tiếp

Download và cài đặt xdebug cho php fpm MacOs

2021-01-10 1508 lượt xem
Trương thịnh

Trước khi bạn cài đặt cái gì bạn nên chắc rằng cái đó không nằm trong máy bạn. Cái này thì ai cũng biết nhưng mà đâu phải ai cũng nhớ 😄 

để kiểm tra xdebug có chưa bạn kiểm tra theo kiểu 

php -v 
# kết quả: (như này là cài rồi vì có chữ with Xdebug)
# PHP 7.3.25 (cli) (built: Nov 30 2020 14:27:01) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.25, Copyright (c) 1998-2018 Zend Technologies
#     with Xdebug v3.0.1, Copyright (c) 2002-2020, by Derick Rethans
#     with Zend OPcache v7.3.25, Copyright (c) 1999-2018, by Zend Technologies

Nếu chưa cài thì bạn có thể cài như cách sử dụng pecl hoặc bạn folow theo cách dứoi đây

Đọc nội dung file php init

Bạn mở terminal trên mac và chạy lệnh dưới đây để lưu lại thông tin file cấu hình của php bạn đang chạy vào 1 file nào đó. Lệnh như sau: 

php -i > [path-file] 
# ví dụ mình lưu thông tin vào file : /Users/hero/Code/php.txt
php -i > /Users/hero/Code/php.txt

sau khi đọc nội dung php infor vào trong file txt, bạn copy nội dung đó patse vào trong php-wizard

Sau khi patse xong sẽ có cái nút nhỏ nhỏ bạn bấm vào như này 

Sau khi bấm xong nó ra 1 nùi hướng dẫn từng chút từng chút nhìn thấy ghê lắm nhưng cứ làm từ từ rồi cũng ra. ví dụ của mình như này: 

Download xdebug vàcài đặt

bước 1. Download file

bạn thấy nó bảo "Download xdebug-3.0.2.tgz" là download file cài đặt của xdebug đó. BẠn cứ download về thôi

Bước 2.Cài đặt các điều kiện tiên quyết

bạn run dòng này để cài php phiên bản mới nhất và autoconf. nếu bạn đã cài php bằng homebrew rồi thì không cần cài php nữa nhé.

brew install php && brew install autoconf

Bước 3.Giải nén fileđã tải xuống

Mở terminal tại folder download sau đó để giải nén chạy lệnh sau: 

tar -xvzf xdebug-3.0.2.tgz

Bước 4. truy cập vào folder xdebug-3.0.2

để truy cập vào folder bạn gọi thêm lệnh sau: 

cd xdebug-3.0.2

Bước 5. chạyphpize để set config

vẫn trong terminal bạn gọi lệnh sau: 

phpize

bạn thấy kết quả như này là ok : 

Zend Module Api No:      20180731
Zend Extension Api No:   320180731

Nếu không, bạn đang sử dụng sai phpize. và chúc mừng bạn, hãy tìm hiểu thêm về  phpize để fix vì mình k biết lỗi gì nên không fix đc. Nếu bnaj cần support cứ inb mình thông qua fb nhé. 

Bước 6. config

nãy mới có setting ban đầu chưa có chạy config đâu. giờ gọi lệnh này để config nè: 

./configure

Bước 7. Gọi hàm make

make

tại đây file xdebug.so sẽ được tạo ra trong folder modules => bạn sẽ copy file mới đc tạo ra vào 1 nơi sau này có thể dễ nhớ hơn theo hướng dẫn tiếp theo:

Bước 8. Copy filexdebug.so vào trong đường dẫn cố định

cp modules/xdebug.so /usr/local/lib/php/pecl/20180731

Bước 9. kết thúc - thêm zend_extension vàophp.ini

mở file /usr/local/etc/php/7.3/php.ini lên và thêm vào cuối file dòng này :

zend_extension = /usr/local/lib/php/pecl/20180731/xdebug.so

chưa Xài được đâu bạn ơi, thêm vào cuối file php.ini mấy dòng này đã: 

; nếu là version 2.*
[Xdebug]
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_connect_back=off
xdebug.remote_host="localhost"


; nếu là version 3.*
[Xdebug]
zend_extension =...
xdebug.mode=debug
; xdebug.remote_autostart=1
xdebug.start_with_request=yes
; xdebug.remote_host = localhost
xdebug.client_host=localhost
; xdebug.remote_port = 9000
xdebug.client_port=9003
xdebug.idekey=VSCODE

 

Cuối cùng

Bạn restart php phiên bản bạn đang dùng mình đã cài phiên bản php 7.3 của bằng homebrew nên mình sẽ restart như sau: 

# restart php73 
brew services restart php@7.3

và kiểm tra đã hoàn thành việc cài xdebug chưa

php -m | grep xdebug

 

chú ý nếu bạn không set biến xdebug.client_port = 9001 thì mặc định version xdebug 3 sẽ lắng nghe port 9003 => file launch.json trong vscode sẽ như sau: 

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9003
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9003
        }
    ]
}