PrestaShop 1.7 与 PHP Xdebug 获取异常并排除脚本中的文件不起作用
PrestaShop 1.7 with PHP Xdebug getting exception and exclude files in script not working
使用 PrestaShop 1.7 开发我的应用程序并使用 Xdebug 调试我的代码。 Xdebug 文档 link 是 https://xdebug.org/docs/。
但是每次都会出现异常
"Integrity check failed."
调试脚本是
{
// 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": 9000,
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
显示响应的 xdebug 控制台
connection 7: read ECONNRESET
{ XDebugError: command is not available
at new Response (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:56:19)
at new BreakpointSetResponse (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:207:9)
at Connection.<anonymous> (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:599:20)
at Generator.next (<anonymous>)
at fulfilled (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:4:58) code: 5, name: 'XDebugError' }
{ XDebugError: command is not available
at new Response (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:56:19)
at new BreakpointSetResponse (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:207:9)
at Connection.<anonymous> (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:599:20)
at Generator.next (<anonymous>)
at fulfilled (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:4:58) code: 5, name: 'XDebugError' }
此异常来自 /vendor/defuse/php-encryption/src/Crypto.php
我正在尝试排除 vendor
、var
、classes/Tools.php
等文件夹和文件
我该如何解决这个问题?还有其他调试工具支持PrestaShop吗?
我通过忽略供应商解决了问题 folder.I 我不确定这是正确的方法。
更改后的调试脚本是
{
// 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": 9000,
"ignore": [
"**/vendor/**",
"**/var/**",
"**/src/**",
"**/classes/Tools.php",
"**/classes/PrestaShopAutoload.php"
]
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
我的解决方案
我通过忽略出现错误的文件和文件夹解决了问题。
{
// 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": 9000,
"ignore": [
"**/vendor/**",//folder
"**/src/**",//folder
"**/var/**",//folder
"**/classes/module/**",//folder
"**/classes/Tab**",//file
"**/classes/Media**",//file
"**/classes/helper/**"//folder
]
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
使用 PrestaShop 1.7 开发我的应用程序并使用 Xdebug 调试我的代码。 Xdebug 文档 link 是 https://xdebug.org/docs/。
但是每次都会出现异常
"Integrity check failed."
调试脚本是
{
// 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": 9000,
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
显示响应的 xdebug 控制台
connection 7: read ECONNRESET
{ XDebugError: command is not available
at new Response (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:56:19)
at new BreakpointSetResponse (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:207:9)
at Connection.<anonymous> (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:599:20)
at Generator.next (<anonymous>)
at fulfilled (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:4:58) code: 5, name: 'XDebugError' }
{ XDebugError: command is not available
at new Response (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:56:19)
at new BreakpointSetResponse (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:207:9)
at Connection.<anonymous> (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:599:20)
at Generator.next (<anonymous>)
at fulfilled (/home/user/.vscode/extensions/felixfbecker.php-debug-1.13.0/out/xdebugConnection.js:4:58) code: 5, name: 'XDebugError' }
此异常来自 /vendor/defuse/php-encryption/src/Crypto.php
我正在尝试排除 vendor
、var
、classes/Tools.php
我该如何解决这个问题?还有其他调试工具支持PrestaShop吗?
我通过忽略供应商解决了问题 folder.I 我不确定这是正确的方法。 更改后的调试脚本是
{
// 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": 9000,
"ignore": [
"**/vendor/**",
"**/var/**",
"**/src/**",
"**/classes/Tools.php",
"**/classes/PrestaShopAutoload.php"
]
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
我的解决方案 我通过忽略出现错误的文件和文件夹解决了问题。
{
// 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": 9000,
"ignore": [
"**/vendor/**",//folder
"**/src/**",//folder
"**/var/**",//folder
"**/classes/module/**",//folder
"**/classes/Tab**",//file
"**/classes/Media**",//file
"**/classes/helper/**"//folder
]
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]