php - 为什么没有加载 xdebug 3?
问题描述
我已经重新启动了 nginx 和 php7.4-fpm。
xdebug 3 看起来是基于此安装的:
root@darius-Vostro-5481:/home/darius/Private/Projects/vop7# apt search xdebug
Sorting... Done
Full Text Search... Done
php-xdebug/bionic,now 3.0.1+2.9.8+2.8.1+2.5.5-1+ubuntu18.04.1+deb.sury.org+1 amd64 [installed]
Xdebug Module for PHP
php5.6-xdebug/bionic,now 3.0.1+2.9.8+2.8.1+2.5.5-1+ubuntu18.04.1+deb.sury.org+1 amd64 [installed,automatic]
Xdebug Module for PHP
php7.0-xdebug/bionic,now 3.0.1+2.9.8+2.8.1+2.5.5-1+ubuntu18.04.1+deb.sury.org+1 amd64 [installed,automatic]
Xdebug Module for PHP
php7.1-xdebug/bionic,now 3.0.1+2.9.8+2.8.1+2.5.5-1+ubuntu18.04.1+deb.sury.org+1 amd64 [installed]
Xdebug Module for PHP
php7.2-xdebug/bionic,now 3.0.1+2.9.8+2.8.1+2.5.5-1+ubuntu18.04.1+deb.sury.org+1 amd64 [installed,automatic]
Xdebug Module for PHP
php7.3-xdebug/bionic,now 3.0.1+2.9.8+2.8.1+2.5.5-1+ubuntu18.04.1+deb.sury.org+1 amd64 [installed,automatic]
Xdebug Module for PHP
php7.4-xdebug/bionic,now 3.0.1+2.9.8+2.8.1+2.5.5-1+ubuntu18.04.1+deb.sury.org+1 amd64 [installed,automatic]
Xdebug Module for PHP
php8.0-xdebug/bionic,now 3.0.1+2.9.8+2.8.1+2.5.5-1+ubuntu18.04.1+deb.sury.org+1 amd64 [installed,automatic]
Xdebug Module for PHP
来自 phpinfo() 的 ini 目录:
加载的配置文件 /etc/php/7.4/fpm/php.ini 扫描此目录以获取其他 .ini 文件 /etc/php/7.4/fpm/conf.d 解析的其他 .ini 文件 /etc/php/7.4/fpm/conf .d/10-opcache.ini, /etc/php/7.4/fpm/conf.d/10-pdo.ini, /etc/php/7.4/fpm/conf.d/15-xml.ini, /etc/ php/7.4/fpm/conf.d/20-bcmath.ini, /etc/php/7.4/fpm/conf.d/20-calendar.ini, /etc/php/7.4/fpm/conf.d/20- ctype.ini, /etc/php/7.4/fpm/conf.d/20-dom.ini, /etc/php/7.4/fpm/conf.d/20-exif.ini, /etc/php/7.4/fpm /conf.d/20-ffi.ini, /etc/php/7.4/fpm/conf.d/20-fileinfo.ini, /etc/php/7.4/fpm/conf.d/20-ftp.ini, / etc/php/7.4/fpm/conf.d/20-gettext.ini, /etc/php/7.4/fpm/conf.d/20-iconv.ini, /etc/php/7.4/fpm/conf.d/ 20-igbinary.ini, /etc/php/7.4/fpm/conf.d/20-imagick.ini, /etc/php/7.4/fpm/conf.d/20-json.ini, /etc/php/7.4 /fpm/conf.d/20-phar.ini, /etc/php/7.4/fpm/conf.d/20-posix.ini, /etc/php/7.4/fpm/conf.d/20-readline.ini, /etc/php/7.4/fpm/conf.d/20-redis.ini, /etc/php/7.4/fpm/conf.d/20-shmop.ini, /etc/php /7.4/fpm/conf.d/20-simplexml.ini, /etc/php/7.4/fpm/conf.d/20-sockets.ini, /etc/php/7.4/fpm/conf.d/20-sysvmsg .ini、/etc/php/7.4/fpm/conf.d/20-sysvsem.ini、/etc/php/7.4/fpm/conf.d/20-sysvshm.ini、/etc/php/7.4/fpm/ conf.d/20-tokenizer.ini, /etc/php/7.4/fpm/conf.d/20-xdebug.ini, /etc/php/7.4/fpm/conf.d/20-xmlreader.ini, /etc /php/7.4/fpm/conf.d/20-xmlwriter.ini, /etc/php/7.4/fpm/conf.d/20-xsl.ini, /etc/php/7.4/fpm/conf.d/20 -zip.inid/20-tokenizer.ini, /etc/php/7.4/fpm/conf.d/20-xdebug.ini, /etc/php/7.4/fpm/conf.d/20-xmlreader.ini, /etc/php /7.4/fpm/conf.d/20-xmlwriter.ini, /etc/php/7.4/fpm/conf.d/20-xsl.ini, /etc/php/7.4/fpm/conf.d/20-zip .inid/20-tokenizer.ini, /etc/php/7.4/fpm/conf.d/20-xdebug.ini, /etc/php/7.4/fpm/conf.d/20-xmlreader.ini, /etc/php /7.4/fpm/conf.d/20-xmlwriter.ini, /etc/php/7.4/fpm/conf.d/20-xsl.ini, /etc/php/7.4/fpm/conf.d/20-zip .ini
/etc/php/7.4/fpm/conf.d/20-xdebug.ini 内容:
# xdebug 3 -
zend_extension=/usr/lib/php/20200930/xdebug.so
我不知道如何检查这是否是正确的文件。他们在文档中写道:
将以下行添加到 php.ini:
zend_extension=/无论在哪里/你/put/it/xdebug
我怎么知道我放在哪里?:) 它是通过 install 命令安装的,它放在它放置的位置 :) 在那个目录中没有没有 .so 的文件。我只是使用了与 xdebug 2 类似的目录和文件名。
phpinfo() 不显示已加载 xdebug。
添加 xdebug_info(); 文件崩溃页面 - 可能未定义此功能。
解决方案
正如@LazyOne 所说
对于 PHP 7.4,文件夹应该是 20190902
所以在ini文件中设置
zend_extension=/usr/lib/php/20190902/xdebug.so
为 Php 7.4 加载 xdebug 3。谢谢
推荐阅读
- javascript - 是否有 App 会在 React Native 中隐藏/显示?切换应用程序时删除键盘侦听器的问题
- python - Django 找不到模块“learning_logs”的问题
- docker - 从 Skopeo 容器访问本地 docker 注册表
- r - 如果它们降落在另一个点的某个附近,我如何生成点被“排斥”的数据?
- ajax - 使用 express 对谷歌云功能的 axios 请求
- javascript - 更改 [ ] 符号之间的样式的问题
- swift - 为什么 UITextFIeld 在 Swift 中返回可选值?
- javascript - Nginx(反向代理)和 Angular(使用 SSR 和 i18n) - 根据 lang cookie 值使用正确的本地化应用程序
- lldb - 为什么在 lldb 中的“命令别名 pcs 调用 ...”时出现“错误:无法创建请求的别名”?
- python - 计算回归变量的方差