草庐IT

debug-eval

全部标签

PHP:等效于使用 eval 包含

如果代码相同,则两者之间似乎存在差异:include'external.php';和eval('?>'.file_get_contents('external.php').'有什么区别?有人知道吗?我知道这两者是不同的,因为include工作正常,eval给出错误。当我最初问这个问题时,我不确定它是在所有代码上还是只在我的代码上出错(并且因为代码是eval编辑的,所以很难找出错误的含义)。然而,在研究了答案之后,事实证明你是否得到错误并不取决于external.php中的代码。,但确实取决于您的php设置(准确地说是short_open_tag)。 最佳答案

PHP debug_backtrace 位掩码用法

试图理解debug_backtrace上的php手册中的这个条目.我不明白他们所说的“这个参数是……的位掩码”是什么意思我已经对位掩码进行了网络搜索,但我的头一直在转,所以我决定我真的不想了解它的细节,而只是想知道我应该如何向该函数添加选项。我是否像在中那样输入了两个选项debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT,DEBUG_BACKTRACE_IGNORE_ARGS)如果我两个都想要,如果我只想要一个? 最佳答案 请注意,这2个常量(DEBUG_BACKTRACE_PROVIDE_

php - Emacs+geben : Open local files when debugging instead of remote ones

先决条件使用PHP和xdebug的网络服务器。htdocs目录通过NFS共享。使用geben运行emacs的开发机器。通过服务器htdocs目录的NFS挂载编辑的文件。问题使用emacs和geben调试PHPWeb应用程序时,打开的Web应用程序文件不是本地文件,而是代表服务器上文件内容的“虚拟”文件。我遇到的主要问题是我无法直接编辑文件,因为我会在服务器上更改它们,这会导致几件事:更改临时文件会导致emacs要求我提供ssh登录凭据更改临时文件,emacs想要重新加载原始打开的文件,因为它们已更改临时文件上没有跳转标记理想情况下,需要设置远程路径到本地路径的映射,但我认为目前无法使用

php - debug_print_backtrace() 到日志文件的字符串

我有一个问题。我想在日志文件中记录特定情况下的回溯。debug_print_backtrace()为我的目的构建了一个正确的字符串,但是debug_print_backtrace()将跟踪打印在屏幕上而不是返回它。 最佳答案 使用另一个函数。debug_backtrace()返回一个数组,您可以循环遍历、格式化并保存:$data=debug_backtrace();或者对格式化的输出字符串使用输出缓冲:ob_start();debug_print_backtrace();$data=ob_get_clean();

php - 非常简单的 PHP 模板...没有 `eval` 可以工作吗?

更新-感谢您的所有回复。这个Q有点乱,所以我开始了sequel如果有人感兴趣的话。我正在为friend拼凑一个快速脚本,偶然发现了一种在PHP中进行模板制作的非常简单的方法。基本上,这个想法是将html文档解析为heredoc字符串,因此其中的变量将被PHP扩展。直通函数允许在字符串中进行表达式求值以及函数和静态方法调用:functionpassthrough($s){return$s;}$_="passthrough";在heredoc字符串中解析文档的代码非常简单:$t=file_get_contents('my_template.html');eval("\$r=唯一的问题是,它

php - 如何在特定 View 上禁用 yii-debug-toolbar?

如何在特定View(尤其是部分渲染View)上禁用yii-debug-toolbar?这可能吗?附言不幸的是,Yii-debug-toolbar不作为下面的标签存在。 最佳答案 将其放入您的布局或View文件中:if(class_exists('yii\debug\Module')){$this->off(\yii\web\View::EVENT_END_BODY,[\yii\debug\Module::getInstance(),'renderToolbar']);}这会从在布局末尾运行的事件中删除呈现工具栏的回调,您有$this

php - 使用 eval 从字符串计算数学表达式

我想从一个字符串计算数学表达式。我已经读过这个问题的解决方案是使用eval()。但是当我尝试运行以下代码时:它给了我以下错误:Parseerror:syntaxerror,unexpected$endinC:\xampp\htdocs\eclipseWorkspaceWebDev\MandatoryHandinSite\tester.php(4):eval()'dcodeonline1有人知道这个问题的解决方案吗? 最佳答案 虽然我不建议为此使用eval(它不是解决方案),但问题是eval需要完整的行代码,而不仅仅是片段。$ma="

PHP eval 和捕获错误(尽可能多)

免责声明;我完全了解eval的陷阱和“弊端”,包括但不限于:性能问题、安全性、可移植性等。问题阅读关于eval的PHP手册...eval()returnsNULLunlessreturniscalledintheevaluatedcode,inwhichcasethevaluepassedtoreturnisreturned.Ifthereisaparseerrorintheevaluatedcode,eval()returnsFALSEandexecutionofthefollowingcodecontinuesnormally.Itisnotpossibletocatchapars

php - 什么时候(如果有的话)eval 不是邪恶的?

我听说过manyplacesPHP的eval函数是oftennottheanswer.根据PHP5.3的LSB和closures我们已经没有理由依赖eval或create_function。在PHP5.3中是否存在任何eval是最佳(唯一?)答案的情况?这个问题不是关于eval是否是邪恶的,因为它显然不是。答案总结:评估数值表达式(或PHP的其他“安全”子集)单元测试交互式PHP“外壳”可信var_export的反序列化一些模板语言为管理员和/或黑客创建后门与的兼容性检查语法(可能不安全) 最佳答案 如果您正在编写恶意软件,并且想让

php - Laravel 5 - env local debug true 没有显示错误

我正在尝试为我的应用启用调试,但我似乎没有任何反馈。环境设置为本地(在.env文件中),如果我运行phpartisanenv我明白了Currentapplicationenvironment:local我的本​​地环境的调试配置设置为truereturn['debug'=>true,另外,如果我在我的主配置文件(config文件夹中的app.php)中设置debug=true我仍然有反馈说代码中有错误。如果代码有错误,我只有一个空页面(如debug=false)我错过了什么? 最佳答案 我已经通过chmod-R777storage/