再会。
我一直在研究包含许多变量和会话的项目,其中大部分工作是在“幕后”和通过 ajax 完成的。
问题是我尝试调试我的项目,但我找不到任何方法来跟踪和记录对某个变量所做的更改。
我一直在尝试使用 firephp 和 xdebug,但它们不显示何时对变量进行了更改,仅显示其最终值。
有什么解决办法吗?
我在本地 MAMP 服务器上的 PhpStorm(包括 Xdebug)中使用 Laravel 启动了一个新项目。这个 Laravel 的入口点是localhost/project/public/index.php,我可以通过向运行/调试配置添加一个新的 PHP Web 应用程序来轻松调试。
但是让我们说,我想调试一个特定的路由,比如localhost/project/public/users/get/1. 我不知道在调试器中的何处添加此路由。我知道如何在 Eclipse 中执行此操作,但在 PhpStorm 中找不到设置(但我必须使用 PhpStorm)
当我尝试直接在“文件”输入字段中输入它时,它会因“文件未指定或无效”而失败,将路由添加到“参数”字段也不起作用。
任何帮助,将不胜感激。
我正在尝试使用这个
https://github.com/barelon/CgKintBundle https://github.com/raveren/kint
用于调试
现在我可以在 TWIG 模板中看到调试,但我不知道如何使用
https://github.com/raveren/kint#installation-and-usage
在 symfony php 类中。
require '/kint/Kint.class.php';
########## DUMP VARIABLE ###########################
Kint::dump($GLOBALS, $_SERVER); // any number of parameters
// or simply use d() as a shorthand:
d($_SERVER);
Run Code Online (Sandbox Code Playgroud)
我需要在 symfony 的控制器中添加此代码吗
我想我会尝试使用 nginx 而不是 Apache 并查看它是如何工作的,并且我已经启动并运行了,但是为了我的生活,我无法弄清楚如何让 PhpStorm 捕获传入的 xdebug 连接。当我运行 Apache 时,它运行良好。
通常,你会在 PhpStorm 中得到一个“传入连接”窗口——这个窗口现在因它的缺失而发光——是的;我已经阅读了 StackOverflow 上的每一个 PhpStorm/Xdebug 问题,但都没有解决我的问题。
配置:操作系统:OSX Mavericks PhpStorm 版本:7.1 Xdebug 版本:2.2.5
请注意,我正在运行 nginx 和 PHP,通过php-fpm它们按预期工作。我已经指出了与 php-fpm 运行到 PhpStorm 相同的 PHP 文件,它成功地找到了 Xdebug 作为调试器。
由于php-fpm像 Xdebug 一样运行端口 9000,我已将其更改为 9900 和 9001(两者都尝试过)并确保检查我phpinfo()的服务器是否已使用它更新了 php.ini 配置,并且我已经检查过我已经更新了 PhpStorm 中的 Xdebug 端口。我还在 PhpStorm 中启用了“开始侦听调试连接”。
来自 php.ini 的 Xdebug 配置:
[xdebug]
zend_extension = /usr/local/Cellar/php55/5.5.14/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
xdebug.auto_trace=0
xdebug.default_enable=1
xdebug.idekey="PHPSTORM"
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=0
xdebug.profiler_output_dir="/tmp"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_mode=req
xdebug.remote_port=9001
Run Code Online (Sandbox Code Playgroud)
如前所述 - 当我 …
在尝试了几件事无济于事后,我决定发布。希望有人经历过同样的事情并为我解答。
我收到此错误:recv() failed (104: Connection reset by peer)尝试在 magento 1.9.1 上向购物车添加内容时从上游读取响应标头,这仅在以下情况下发生:
一旦我停止 xdebug 一切正常,或者如果禁用 ioncube 扩展并保持 xdebug 运行它也可以工作。
我的设置:Nginx + php-fpm 5.5.9 我正在使用套接字:/var/run/php-fpm.sock
有没有办法克服这个问题?
我面临一个特殊的问题,因为我没有找到太多参考资料。我发现simpleXMLElement 属性和 foreach描述了同样的问题,但一年没有答案,也没有任何答案。
对于一些上下文,我正在尝试使用PHPOffice/PHPExcel,并且在加载xlsx文件时,此框架simplexmlelement在 364 到 376 行上循环Excel2007.php,可在https://github.com/PHPOffice/PHPExcel/blob/1.8/Classes /PHPExcel/Reader/Excel2007.php,这里提取了其中的几行(我添加了 var_dump 和 echo):
foreach ( $colourScheme as $k => $xmlColour ) {
var_dump ( $xmlColour ); echo 'NEWVAR';
$themePos = array_search ( $k, $themeOrderArray );
if (! $themePos) {
$themePos = $themeOrderAdditional ++;
}
if (isset ( $xmlColour->sysClr )) {
$xmlColourData = $xmlColour->sysClr->attributes ();
$themeColours [$themePos] = $xmlColourData ['lastClr'];
} elseif (isset ( $xmlColour->srgbClr )) {
$xmlColourData = $xmlColour->srgbClr->attributes …Run Code Online (Sandbox Code Playgroud) Xdebug 分析器和跟踪器有什么区别?有吗?
我知道它们有不同的设置,但我想知道它们在功能方面的区别。
过去 6 个月,我一直在 MAC 上使用 XDebug 和 PHP 版本 7.0.*,使用远程调试到 Docker 容器。
我正在运行一个旧版本的 docker,它使用 VirtualBox 到 VM for docker,一切正常。
我最近将 docker 更新到了 17.03.1 版,但除了 xDebug 问题之外什么都没有。我已经通过他的存储库中的问题联系了 vscode-php-debug 的创建者,然后他指示我用 xdebug 或 docker 来解决这个问题。
我的问题如下:
XDebug 正在运行并在我的容器上工作,xdebug 日志显示它连接到我的 IDE,但是当我在 VSCode 中设置断点时,它只是关闭连接,就好像没有断点一样。
我在 vscode-php-debug 上发布的问题可以在这里找到
其中有我的 xDebug 日志和 VSCode 调试日志的副本......它表明连接已建立但没有断点被击中。
我已经阅读了一些博客,docker 现在需要为连接到 xdebug 的连接创建一个环回 ip,我也尝试过但失败了。
在使用了这么久之后,我发现在没有调试器的情况下进行调试非常困难。
我尝试了许多配置,重新安装、重新启动、重建图像/容器,甚至在 freenode 上尝试了 docker 和 xdebug irc 频道,但没有任何成功。
我正在使用 docker 进行开发,在我的磁盘上没有剩余空间之前,它完全没有任何问题(我的 Ubuntu 分区只有 30G)。所以我删除了所有不再运行/使用并且有足够空间的容器和图像。
再次启动我的应用程序后,我现在收到ContextErrorException以下消息
Warning: Header may not contain more than a single header, new line detected
当我查看error.log,这是内容
2017/04/29 12:53:13 [error] 13#13: *1 FastCGI sent in stderr: "PHP message: XDebug could not open the remote debug file '/var/log/xdebug.log'" while reading response header from upstream, client: 172.17.0.1, server: app, request: "GET /admin/dashboard HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost:8080"
2017/04/29 12:53:24 [error] 13#13: *1 FastCGI sent in stderr: "PHP message: XDebug could not open the remote …Run Code Online (Sandbox Code Playgroud) 我使用 Laravel 5.5 和 Guzzle 6.3 开发网站。
我在尝试使用 API 为 BOX 创建文件夹时尝试大量发布嵌套数组时遇到问题。
$url = $this->api_url . "/folders";
$headers = [
'Authorization' => 'Bearer ' . $this->access_token,
];
$client = new Client();
$response = $client->post($url, [
'headers' => $headers,
'form_params' => [
'name' => $name,
'parent' => [
'id' => $parent_id
]
]
]);
Run Code Online (Sandbox Code Playgroud)
它向我显示了这样的错误:
实体主体应该是正确嵌套的资源属性名称/值对
我也已经尝试过使用shell_execcurl 所以它从命令提示符运行 curl 它给了我同样的错误
但是当我尝试从 cygwin 运行时,curl 工作正常。
我也可以使用多部分请求嵌套数组进行上传工作正常。
当嵌套数组在多部分请求中正常工作时,我不知道为什么会遇到此嵌套数组问题。
Box 文档 POST 的参考在这里。