[英]Xdebug doesn't even try to connect to port 9000
我在Raspberry Pi
上運行php5-fpm
並為 web 站點提供服務。 我已經安裝了php5-xdebug
package 並重新啟動php5-fpm
,我希望已將其配置為遠程調試到 127.0.0.1:9000。 我將服務器放在9000
上以使用nc -l 9000
命令進行偵聽。
不幸的是,當我使用http://mysite/mypage.php?XDEBUG_SESSION=1
打開任何頁面時,沒有人事件嘗試連接到端口9000
,因為它的控制台中沒有字符看到它。 頁面打開正常。
還有什么可以阻止 PHP 調試器工作?
嘗試:
在phpinfo
頁面上顯示了xdebug.remote_log=/var/log/xdebug.log
的添加,但沒有效果:沒有創建任何日志,頁面立即出現。
添加xdebug_break();
在php
文件的開頭也沒有效果。 沒有停頓,沒有日志。
改變端口並沒有改變任何東西......
我最初的phpinfo
如下:
Server API FPM/FastCGI
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/php5/fpm
Loaded Configuration File /etc/php5/fpm/php.ini
Scan this dir for additional .ini files /etc/php5/fpm/conf.d
Additional .ini files parsed /etc/php5/fpm/conf.d/05-opcache.ini, /etc/php5/fpm/conf.d/10-pdo.ini, /etc/php5/fpm/conf.d/20-json.ini, /etc/php5/fpm/conf.d/20-readline.ini, /etc/php5/fpm/conf.d/20-xdebug.ini
PHP API 20131106
PHP Extension 20131226
Zend Extension 220131226
Zend Extension Build API220131226,NTS
PHP Extension Build API20131226,NTS
Debug Build no
Thread Safety disabled
Zend Signal Handling disabled
Zend Memory Manager enabled
Zend Multibyte Support provided by mbstring
IPv6 Support enabled
DTrace Support enabled
Registered PHP Streams https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, tls, tlsv1.0, tlsv1.1, tlsv1.2
Registered Stream Filters zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk
...
***
xdebug
xdebug support enabled
Version 2.2.5
IDE Key www-data
***
Supported protocols Revision
DBGp - Common DeBuGger Protocol $Revision: 1.145 $
Directive Local Value Master Value
xdebug.auto_trace Off Off
...
xdebug.coverage_enable On On
xdebug.default_enable On On
xdebug.dump.COOKIE no value no value
xdebug.dump.ENV no value no value
xdebug.dump.FILES no value no value
xdebug.dump.GET no value no value
xdebug.dump.POST no value no value
xdebug.dump.REQUEST no value no value
xdebug.dump.SERVER no value no value
xdebug.dump.SESSION no value no value
xdebug.dump_globals On On
xdebug.dump_once On On
xdebug.dump_undefined Off Off
xdebug.extended_info On On
xdebug.file_link_format no value no value
xdebug.idekey no value no value
xdebug.max_nesting_level 100 100
xdebug.overload_var_dump On On
...
xdebug.remote_autostart Off Off
xdebug.remote_connect_back Off Off
xdebug.remote_cookie_expire_time 3600 3600
xdebug.remote_enable On On
xdebug.remote_handler dbgp dbgp
xdebug.remote_host 127.0.0.1 127.0.0.1
xdebug.remote_log no value no value
xdebug.remote_mode req req
xdebug.remote_port 9000 9000
xdebug.scream Off Off
xdebug.show_exception_trace Off Off
xdebug.show_local_vars Off Off
xdebug.show_mem_delta Off Off
xdebug.trace_enable_trigger Off Off
...
我使用 xdebug 3。這里有幾點可以幫助其他人,我最初錯過了:
如果未創建 xdebug 日志,請確保 apache 用戶可以訪問和寫入日志目錄。 例如 /var/log 通常不是,所以最好像這樣使用 /tmp/ :
xdebug.log=/tmp/xdebug.log
要啟用 xdebug,您還需要設置模式:
xdebug.mode = 調試
我最后的 xdebug 部分如下。 您可以更改 client_port 以應用於您的案例。
zend_extension="/usr/lib64/php/modules/xdebug.so" xdebug.remote_enable=1 xdebug.remote_autostart=on xdebug.client_port=9003 xdebug.log=/tmp/xdebug.log xdebug.client_host=localhost xdebug.discover_client_host = true xdebug.mode = debug,develop
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.