草庐IT

Debugging

全部标签

php - PHP 异常/错误处理库

在PHP中是否有用于处理异常/错误(包括fatalerror)的PHP库?它应该是非常可配置的,支持记录到文件,发送电子邮件,并与不同的浏览器控制台集成。 最佳答案 我找到的最好的图书馆是Lagger-支持Firefox的FirePHP扩展,并有自己的GoogleChrome控制台扩展 关于php-PHP异常/错误处理库,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/388968

php - 如何在 PHP 中调试多个 session ?

我正在从事一个项目,在该项目中,应用程序在开发模式下通过网络向同一应用程序创建Web服务请求,以获取虚假数据和更好的开发环境。有时我在调试时发现很难做到,因为当您在同一个PHP安装上同时有两个调试session时,XDebug似乎不起作用。有没有办法使用一些调试工具在PHP中调试多个session?我一直在使用Netbeans和XDebug,一旦新session开始,调试就结束了。我想IDE也必须支持多个session。我最近切换到phpStorm,所以我想我会在不懒惰的时候试一试。 最佳答案 试试EclipsePDT+ZendSe

php - 如何跟踪 PHP 中的变量变化

美好的一天。我一直致力于包含许多变量和session的项目,其中大部分工作都是“在幕后”通过ajax完成的。问题是我尝试调试我的项目,但我找不到任何方法来跟踪和记录对特定变量所做的更改。我一直在尝试使用firephp和xdebug,但它们不会显示对变量进行更改的时间,只会显示其最终值。有什么解决办法吗? 最佳答案 XDebug可以跟踪变量变化,只需启用xdebug.collect_assignments和xdebug.collect_params,所以当您生成跟踪日志文件时,您应该可以看到变化。示例配置:xdebug.default

php - 你能在使用依赖注入(inject)的同时避免大量的私有(private)变量吗?

我一直在阅读/观看很多推荐Material,最近是这个-MVCforadvancedPHPdevelopers.出现的一件事是单例是不好的,它们在类之间创建依赖关系,而依赖注入(inject)很好,因为它允许单元测试和解耦。在我编写程序之前,一切都很好。我们以网店的产品页面为例。首先我有我的页面:classPage{public$html;publicfunction__construct(){}publicfunctioncreatePage(){//dosomethingtogeneratethepage}publicfunctionshowPage(){echo$this->ht

PHP 错误行号完全关闭

我不知道我的PHP发生了什么。我正在使用我自己开发的一堆类和一个半MVC框架(作为实验)。所以PHP文件包含很多类文件。我的错误消息的PHP行号完全关闭,因此无用,使我无法调试。例如,现在我收到一条错误消息:`Parseerror:syntaxerror,unexpected')'in/view.phponline209唯一的问题是:第209行附近没有')'。更糟糕的是,如果我将die()放在第200行左右,它仍然会给我一条错误消息,现在下推到第210行。很明显,这行代码已被考虑在内,但由于某种原因它并没有消失。另一件事是,它在此行之前包含一个header.php文件。头文件基本上只是

php - Netbeans - 虚拟主机的配置

我正在使用Netbeans8.0。我必须在我的Apache上设置虚拟主机才能获取http://mysite.dev/index.php代替http://localhost/mysite/frontend/web/index.php我试图在Netbeans中设置运行配置(用于xdebug目的),这似乎是不可能的。当我将ProjectURL设置为:http://mysite.dev和IndexFile只是为了index.php有一个警告IndexFilemustbeavalidrelativeURL警告会阻止调试。我不知道如何解决它。编辑(@akshayb):DocumentRoot"C:

php - 使用 Emacs 和 GEBEN 调试多文件 PHP 脚本

我的XDebug在我的本地机器上运行良好(我有本地运行的apache)并且我能够使用eclipse调试php脚本。然而,我更喜欢用emacs编辑文件,所以我遇到了GEBEN包。我安装它很好,我可以在我的脚本中设置断点,一切似乎都工作正常......我现在正在尝试调试一个cakePHP应用程序,我需要在与geben启动时加载到emacs中的文件不同的文件中设置断点。这是正在发生的事情:我启动我的网络服务器、php等等。我启动emacs,然后运行命令M-xgeben。它告诉我它现在正在监听端口9000我浏览到要单步执行的页面(http://url?XDEBUG_SESSION_START)

php - Docker 和 XDebug 不读取断点 VSCode

在过去的6个月里,我一直在MAC上使用XDebug和PHP版本7.0.*,对Docker容器进行远程调试。我运行的是旧版本的docker,它使用VirtualBoxtoVMfordocker,一切正常。我最近将docker更新到版本17.03.1,除了xDebug问题外什么都没有。我已经通过存储库中的问题联系了vscode-php-debug的创建者,然后他指示我通过xdebug和/或docker解决这个问题。我的问题如下:XDebug正在运行并在我的容器上工作,xdebug日志显示它连接到我的IDE,但当我在VSCode中设置断点时它只是关闭连接,就好像没有断点一样。我发在vscod

php - 调试挂起的php

我有一个偶尔挂起的phpweb应用程序。当我导航到该页面时,它只会坐在那里尝试加载几个小时,即使最大执行次数是210。这是一个在代理后面使用curl来下载东西的应用程序。错误报告设置为全部,但这并不重要,因为页面是空白的并且挂起。我找不到任何关于调试挂起的PHP进程的信息。 最佳答案 上次我检查过,HTTP/IO操作发生在php时间之外,因此CURL可能正在死亡或超时。它的IO,所以php只是抛出到某个系统库,然后调用“select”等待它返回。如果它不回来..php代码甚至不会循环,因此甚至不知道它不会回来。

php - Google Calendar API 出错 - 添加日历事件时需要 401 登录

因为我正在使用Codeigniter和GoogleapiService/apiCalendarService开发导出和导入到Google日历应用程序。当我从此页面向Google授权我的应用程序时,我已经完美地设置了一切,没问题:包含的代码是重定向发生时发生的事情:session_start();require(APPPATH.'libraries/google/apiClient.php');require(APPPATH.'libraries/google/contrib/apiCalendarService.php');$apiClient=newapiClient();$apiC