问题标签 [e-notices]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP - 如何在启用 E_NOTICES 的情况下编写更好的代码?
我更喜欢在打开 E_NOTICES 的情况下进行开发,但在使用数组索引时,我经常不得不编写过多、过于冗长的代码。如何在启用 E_NOTICES 的情况下用更少的代码编写此代码。
通知被禁止
没有通知被压制
zend-framework - 在 zend 框架中设置自定义错误级别
如何使用 Zend Framework 设置自定义错误级别 - 比如说,我想禁用 E_NOTICE。
谢谢。
php - php 数组的未定义索引:0 通知消失
是的,所以我打开了 E_NOTICES 并且我的代码正常工作,每次我尝试使用 set 键将数据插入数组时,我都会不断收到“严重性:通知消息:未定义的索引:0”。当您尝试调试时,它真的很烦人。
我做错了什么会使通知消失而不关闭 E_NOTICES?
php - APC(备用 PHP 缓存)抛出大量 PHP 通知
我在运行 PHP 5.3.6 的 Linux 机器上安装了 APC 3.1.9。
缓存工作正常,但我在我们的错误日志中注意到,APC 会引发很多 PHP 通知,例如:
[Wed Jun 29 01:08:56 2011] [error] [client ip] PHP Notice: require_once() [function.require-once]: apc_cache_find [16085954]\n in /path/to/file on line 75, referer : /path/to/referer/file
[Wed Jun 29 01:08:56 2011] [error] [client ip] PHP Notice: require_once() [function.require-once]: 1. h->opened_path=[/path/to/file] h-> filename=[/path/to/file]\n 在第 84 行的 /path/to/file 中,引用者:/path/to/referer/file
[Wed Jun 29 01:08:56 2011] [error] [client ip] PHP Notice: Unknown: apc_cache_find [16215361]\n 在 Unknown on line 0, referer: /path/to/referer/file
--> /path/to/file & /path/to/referer/file 已被我插入替换原始文件名
知道为什么 APC 会抛出所有这些消息吗?
php - PHP 通知抑制;只有某些情况/方法
tl;dr - 在非常严格的环境中工作时,是否有一种有效的方法来管理 PHP 的错误报告级别,因为在不那么严格的级别下某些过程会变得更容易?
好的; 首先,我不相信“错误抑制”是一种解决方案。我(有理由确定我)从未使用过@
错误抑制运算符,也无意这样做。我利用set_error_handler()
and ErrorException
(或某些派生) 并且我在error_reporting(-1)
(未来证明E_ALL | E_STRICT
)中开发
现在,我不想改变这些习惯,因为我发现它们是一个很好的实践(另外;如果有人有进一步改进我的开发/生产环境设置/实践的建议,我会全力以赴)
但是,当涉及到视图生成时,这可能会有点乏味。正确的数据(数组索引、变量等)并不总是可用的,因为控制器无论出于何种原因未能将某些数据传递给视图。只要此数据对视图生成不重要,视图仍应呈现。
我更喜欢这种语法,因为它并不冗长,但(我认为)非常容易理解:
当然,如果$data['field']
没有在没有索引的情况下调用offsetGet()
返回null
,我们就有问题了。通知遇到异常,异常遇到脚本失败。
我尝试了不同的实现,包括使用类似节点的类创建数据树来管理传递给视图的数据列表/行。__get()
实际上会创建不存在的节点(在分配或访问时)(以简化节点数据分配,并防止发出通知。__isset()
测试有效性并会false
适当返回)它还实现ArrayAccess
了访问节点数据,并且只需返回null
缺失的索引。
由于 PHP 魔法的开销,我选择放弃这个实现(尽管我学到了很多关于重构/优化和分析的知识)
我改用了原生数组,但现在我的视图代码库里到处都是isset()
,坦率地说,这很烦人(几乎超过了上述实现的性能损失)
现在,我认为最简单的解决方法是error_reporting()
根据我们在脚本中的位置上下滑动缺口:
但这似乎不是最干净(也不是最安全)的解决方法;尤其是在视图中调用辅助函数时。我已经采用了一种 HMVC 方法,并且可以从视图发出子请求,所以我需要找到所有的render()
逃生点并用error_reporting(-1)
.
我还有其他选择吗?
php - 记录 PHP 通知错误
我最近接管了遗留系统的开发,并希望能够E_NOTICE
在部署环境中打开 PHP 的日志记录。部署环境 ini 具有以下指令...
我error_reporting
使用 , 比较了位掩码echo (E_ALL & ~E_DEPRECATED).' = '.error_reporting();
,两者都匹配,所以我知道error_reporting
系统本身的级别没有改变,如果我打开display_errors = On
通知,则会显示,但不会记录。
那么如何开始记录 PHPE_NOTICE
呢?
php - 未定义变量:$_SESSION
E_NOTICE
当核心 CakePHP 文件尝试引用从未设置或未设置的会话 ( ) 时,我在该文件中遇到错误cake/libs/cake_session.php line 372
:
我已经通过我的代码(在 app/ 目录中)进行了搜索,但我找不到对$_SESSION
or的引用session_destroy
。我错过了什么吗?
当我尝试运行任何单元测试时会出现此错误。这……正常吗?我已清除cake/
目录并将其替换为另一个(相同版本),以确保我没有无意中修改核心文件中的任何内容,但我仍然遇到相同的错误。我不确定这是否只是框架中的缺陷还是其他原因。
编辑
以下是在命令行上运行的测试结果:
php - 如何摆脱 PHP 注意:未定义索引:第 123 行 X 中的 HTTPS
我刚刚发现我有数千个这样的错误,来自两个相同的文件。
我通过使用 删除了很多错误isset
,但我不知道如何删除最后两个错误。也许你们可以帮助我。
生成错误的第一个 PHP 文件中的代码:
更确切地说,这一行:
和
php - 数组中未定义的变量没有 E_NOTICE?
所以..我仍然对此感到困惑,当创建一个数组$array = array();
然后手动设置变量时:
我知道,这对 PHP 来说是可以的,但是当我回显类似的东西时,$array['none']
它不会为未定义的变量显示 E_NOTICE。
谁能解释一下,为什么?
php - 如何在不引发 PHP 通知/警告的情况下循环遍历 stdObject 的数组?
我通过 cURL / json_decode() 获得了以下 stdObject:
我正在遍历它以获得每个结果的 ID:
尽管代码运行良好,但 PHP 正在发出以下通知/警告:
PHP 注意:试图在第 1 行的 /var/www/vhosts/domain.net/script.php 中获取非对象的属性 PHP 注意:试图在 /var/www/vhosts/domain 中获取非对象的属性。第 1 行的 net/script.php PHP 警告:在第 1 行的 /var/www/vhosts/domain.net/script.php 中为 foreach() 提供的参数无效
有任何想法吗?提前致谢!