Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menambah Xdebug pada macOS PHP7

Bagaimana untuk menambah Xdebug pada macOS PHP7

藏色散人
藏色散人ke hadapan
2021-12-21 16:53:001978semak imbas

Sistem MacOS PHP7 menambah Xdebug

Selepas Apple mengeluarkan macOS High Sierra, sistem akhirnya dilengkapi dengan php v7.1 Berbanding dengan sebelumnya, jika anda ingin menggunakan Untuk php7, anda perlu memikirkan cara tambahan (Homebrew atau php-osx), yang sangat mudah.

Walau bagaimanapun, PHP yang disertakan dengan sistem hanya mempunyai konfigurasi asas Jika anda ingin membangunkan PHP, Xdebug masih diperlukan. Berikut ialah ringkasan cara menambah modul Xdebug pada PHP yang disertakan sistem dalam macOS High Sierra. [Disyorkan: Tutorial PHP7]

Persekitaran asas (maklumat MacOS dan PHP)

  • macOS High Sierra: v10.13.3
  • PHP: v7.1.7

Memasang Xdebug

Dokumen pemasangan tapak web rasmi Xdebug mempunyai kaedah yang disyorkan untuk MAC, memandangkan sistem dilengkapi dengan PHP Ianya v7.1.7, jadi apabila memilih, anda perlu memilih pakej pemasangan php71-xdebug.

Bagaimana untuk menambah Xdebug pada macOS PHP7

Selain itu, kerana php71-xdebug dalam brew bergantung pada php71, adalah disyorkan untuk menambah parameter --without-homebrew-php . Dalam kes ini brew akan mengabaikan pemasangan php71.

brew install php71-xdebug --without-homebrew-php

Walau bagaimanapun, pada masa ini, anda mungkin menghadapi ralat berikut:

phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:

menggesa bahawa kebergantungan tiada, menyebabkan phpize tidak berfungsi dengan betul digunakan Untuk menyediakan persekitaran kompilasi pustaka sambungan PHP Secara teori, PHP yang disertakan dengan sistem sepatutnya mempunyai phpize, tetapi modul yang diperlukan tidak ditemui dalam phpize, dan apabila mencari /usr/include/php/*, ia. didapati bahawa direktori ini tidak wujud sama sekali. /usr/include

Di Google, dan untuk menyelesaikan masalah, anda perlu melengkapkan kandungan yang berkaitan dalam

Dalam sistem sebelum OSX v10.10, anda perlu membuat pautan lembut secara manual untuk menyelesaikan masalah: /usr/include

Walau bagaimanapun, sistem selepas v10.11 telah menulis semula dasar keselamatan, jadi anda akan menghadapi masalah kebenaran (
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include /usr/include
juga tidak akan berfungsi):

sudo

Tetapi mujurlah, Apple telah menyediakan Xcode untuk pembangun, yang Ia adalah alat yang sangat berkuasa, tetapi ia juga sangat besar (muat turun dan pemasangan agak perlahan), dan secara amnya kami hanya memerlukan
ln: /usr/include: Operation not permitted
Alat Talian Perintah

yang disediakannya masalah di atas, kita hanya perlu memasang Alat Baris Perintah boleh menyelesaikannya:

Seterusnya, ikut arahan, pasang, setuju dengan perjanjian...
xcode-select --install


Bagaimana untuk menambah Xdebug pada macOS PHP7Tunggu pemasangan selesai, Kemudian gunakan

brew

untuk memasang php71-xdebug:

Selepas semuanya selesai, brew akan memberikan gesaan:
brew install php71-xdebug --without-homebrew-php

To finish installing xdebug for PHP 7.1:
  * /usr/local/etc/php/7.1/conf.d/ext-xdebug.ini was created,
    do not forget to remove it upon extension removal.
  * Validate installation via one of the following methods:
  *
  * Using PHP from a webserver:
  * - Restart your webserver.
  * - Write a PHP page that calls "phpinfo();"
  * - Load it in a browser and look for the info on the xdebug module.
  * - If you see it, you have been successful!
  *
  * Using PHP from the command line:
  * - Run `php -i "(command-line 'phpinfo()')"`
  * - Look for the info on the xdebug module.
  * - If you see it, you have been successful!
Dayakan PHP

Kemudian mulakan semula :

php.iniSelepas menjalankan

, anda boleh lihat kandungan konfigurasi Xdebug:
[xdebug]
zend_extension="/usr/local/opt/php71-xdebug/xdebug.so"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
xdebug.scream = 0
xdebug.show_local_vars = 1

php-fpm

Visual Studio Code - PHP Debug
# 关闭php-fpm
sudo killall php-fpm

# 启动php-fpm
sudo php-fpm

php -i "(command-line 'phpinfo()')" | grep xdebugVSCode ialah salah satu alat pembangunan yang paling popular pada masa ini. Walaupun ia ringan, ia tidak kalah dengan pelbagai IDE Ia adalah kerja hati nurani Microsoft Dengan memasang Plug-in yang berbeza boleh memanjangkan keupayaannya Antaranya ialah pemalam

PHP Debug
xdebug
...
xdebug.remote_autostart => On => On
xdebug.remote_connect_back => On => On
xdebug.remote_cookie_expire_time => 3600 => 3600
xdebug.remote_enable => On => On
xdebug.remote_handler => dbgp => dbgp
xdebug.remote_host => localhost => localhost
xdebug.remote_log => no value => no value
xdebug.remote_mode => req => req
xdebug.remote_port => 9000 => 9000
xdebug.remote_timeout => 200 => 200
xdebug.scream => Off => Off
...
, yang boleh digunakan sebagai jambatan kepada Xdebug. untuk memudahkan penyahpepijatan PHP secara langsung melalui Xdebug Penerangan rasmi sangat sesuai:

Penyesuai Nyahpepijat PHP untuk Kod Visual Studio

Arahan di laman web rasmi juga agak bagus:

Pasang XDebug

Saya amat mengesyorkan anda membuat fail
yang mudah, letakkan pernyataan
    di sana, kemudian salin output dan tampalkannya ke dalam wizard pemasangan XDebug. Ia akan menganalisisnya dan memberi anda arahan pemasangan yang disesuaikan untuk persekitaran anda.

  1. Ringkasnya:test.phpPada Windows: Muat turun DLL tersusun yang sesuai untuk anda Versi PHP, seni bina (64/32 Bit), keselamatan benang (TS/NTS) dan versi pengkompil Visual Studio dan letakkannya dalam folder sambungan PHP anda.phpinfo();Di Linux: Sama ada muat turun kod sumber sebagai tarball atau klon dengan git, kemudian susun.

      Konfigurasikan PHP untuk menggunakan XDebug dengan menambahkan
    • pada php.ini anda.
    • Laluan php.ini anda ditunjukkan dalam output
    • anda di bawah "Fail Konfigurasi Dimuatkan".
  2. Dayakan penyahpepijatan jauh dalam php.ini anda:
  3. [XDebug]
    xdebug.remote_enable = 1
    xdebug.remote_autostart = 1

    There are other ways to tell XDebug to connect to a remote debugger than remote_autostart, like cookies, query parameters or browser extensions. I recommend remote_autostart because it "just works". There are also a variety of other options, like the port (by default 9000), please see the XDebug documentation on remote debugging for more information.

  4. If you are doing web development, don't forget to restart your webserver to reload the settings
  5. Verify your installation by checking your phpinfo() output for an XDebug section.

这里需要注意的是它推荐开启Xdebug配置项中的remote_autostart这一项。

好了,经过上面的操作,你应该可以跟Demo里面一样在VSCode中调试PHP了。
Bagaimana untuk menambah Xdebug pada macOS PHP7

Atas ialah kandungan terperinci Bagaimana untuk menambah Xdebug pada macOS PHP7. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:segmentfault.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam