草庐IT

Debugging

全部标签

php - 在 mac 上调试 php?

想知道在我的本地机器上调试PHP的最佳方法是什么。我在macos10.5上使用MAMP谢谢,帕特里克 最佳答案 使用xdebug是一个好的开始。下载包并按照INSTALL文件中的说明进行操作。这很容易。完成后,将以下行添加到您的php.ini文件中:;;[xdebug]zend_extension="/Path/to/your/module/xdebug.so"xdebug.file_link_format="txmt://open?url=file://%f&line=%1"xdebug.var_display_max_depth

php - 开始调试 PHP (Drupal) 的最简单方法

开始调试并在Drupal安装中点击特定行的最简单方法是什么?一般情况下?使用Eclipse?(有多难?)在Windows上,了解并可以使用VisualStudio(使用VisualStudio有多难?)(无付费:免费或试用)我在Windows本地使用AcquiaDrupalWAMP堆栈。在服务器Ubuntu/Webmin/LAMP上。 最佳答案 事实上,调试Drupal就像调试任何PHP应用程序一样简单:)VisualStudio插件增加了对PHP的支持http://www.jcxsoftware.com/-不幸的是它是商业的。如果

php - 在 OutOfMemory 异常时让 PHP 转储堆

我目前正在调试一个经常遇到OutOfMemory异常的脚本。它作为cronjob运行并且通常运行良好,但是当cronjob有一段时间没有运行时(无论出于何种原因)脚本必须处理许多排队的元素并将遇到OutOfMemory异常。通过检查代码,我无法发现问题。我相信其中一个迭代函数调用可能会泄漏内存,但我不确定是哪一个以及在哪里。当发生OutOfMemory异常时,是否可以选择让PHP转储堆?我也许可以从那里发现问题(很有可能)。 最佳答案 虽然我找不到“异常时转储堆”选项,但我确实找到了get_defined_vars()如果从全局范围

php - Twig调试(我没有config.yml)

在……很长一段时间后,我又回到了PHP游戏中。我正在查看Twig,需要了解更多正在发生的事情。我发现一些文本需要进入我的config.yml文件。警告:它不在我的系统上。它是随Twig版本一起提供的,还是我也必须安装Symfony?有点迷路了。干杯。编辑:我只需要{{dump(var)}}即可工作。httpd错误日志告诉我:PHPfatalerror:未捕获的异常“Twig_Error_Syntax”,消息为“函数“转储”不存在我正在像这样设置我的Twig环境:$twig=newTwig_Environment($loader,array('cache'=>'/tmp','debug'

php - Yii - 'white screen of death',调试提示

我有一个运行Yii应用程序的暂存服务器,现在显示“白屏死机”。我看不到任何东西被输出到屏幕上(甚至在“查看源代码”时看不到源代码),相同的代码在本地运行没有任何问题。谁能推荐一个在Yii应用程序中调试“白屏死机”的好例程? 最佳答案 在yii中出现黑屏主要是因为error_reporting关闭了。放error_reporting(-1);ini_set('display_errors',true);在index.php中应该会得到你的输出。请注意,当您没有一些输出时,您始终可以在application.log和apacheserr

php - 白屏死机 - 在 PHP/Vagrant 环境中没有显示错误 (Yii)

我不确定这个问题是否部分是由于vagrant造成的,但是我在运行Unix的Vagrantbox中安装了Yii1.x。我试图强制执行一个简单的PHP错误,例如Controller中缺少分号,即使我100%确定我创建了一个错误,但我没有看到带有堆栈跟踪的标准Yii错误页面。这在以前是有效的,尽管最近似乎已经停止以这种方式工作。奇怪的是-Yii在脚本底部输出数据库查询(这是有意的,但我不明白为什么Yii只显示数据库查询。我的个人配置如下:(只展示了一部分..)我已经尝试了下面的代码并检查了日志但没有成功ini_set('display_errors',true);error_reportin

使用远程 shell 访问进行 PHP 调试

作为我的PHP学习过程的一部分,我正在玩一个使用共享托管服务的PHP网络日志应用程序。服务提供商具有典型的LAMP环境,具有远程ssh访问权限。在探索PHP代码时,Vim一直是我最好的friend。但是,我发现有时在出错的情况下很难跟踪代码中的内容。例如,有时我访问一个页面,得到一个空白响应,没有任何错误消息。我应该如何调试呢?有什么有用的工具吗?我的经验主要是C/C++、Perl和一些CGI编程。所以PHP对我来说是一种非常令人耳目一新的体验:-)以防万一,我正在玩的应用程序是Lyceum,而且我对LAMP环境本身没有太多选择。编辑:首选免费软件工具:-)

php - 如何跟踪 PHP 错误?

我收到以下错误:[23-Feb-201119:51:29]PHPFatalerror:Allowedmemorysizeof134217728bytesexhausted(triedtoallocate512bytes)in/obj/class.db.phponline60我的问题是我不知道这个错误发生在哪里。class.db.php的第60行是我的应用程序中最常用的函数之一(DatabaseRead()函数)。如何追溯此错误的来源? 最佳答案 您可以尝试使用http://www.xdebug.org/

验证用户名时的 PHP 错误

我正在使用PHP构建网站,我需要验证用户输入的名称是否正确。由于JavaScript是客户端,我不能完全依赖它,所以这是我的服务器端函数来验证用户名:functionvalidate_name($name){$name=trim($name);//onlyforthepurposeofdebugging在此之后,我检查输入并相应地显示结果:functionfinal_check(){if(validate_name($_POST["first_name"])=="small"){echo"Yourfirstnamecannotbeempty";returnfalse;}elseif(v

PHP XDEBUG 未启用

无法启用XDEBUG。任何帮助或检查它是否已启用且未反射(reflect)?我在PHP7上使用Xdebug2.4.0rc2。PHP.INI设置如下:[XDebug]zend_extension="C:/php/ext/php_xdebug.dll"xdebug.remote_enable=onxdebug.remote_host=localhostxdebug.remote_port=10000xdebug.remote_handler=dbgpxdebug.profiler_enable=1xdebug.profiler_enable_trigger=1xdebug.profiler