我要说不.
Everything is valid inside that “complex expression” so I would love to simply disable that check in PHP.
我认为这里的问题是不允许写入临时表达式不仅仅是PHP中的“检查”,而是7.1版本(5c2120b中引入)中语言的一部分.
截至5c2120b年,语言语法已经更新,以重新定义可以引用的内容:
dereferencable:
variable { $$= $1; }
| '(' expr ')' { $$= $2; zend_do_begin_variable_parse(TSRMLS_C); $$.EA = 0; }
| dereferencable_scalar { $$= $1; zend_do_begin_variable_parse(TSRMLS_C); $$.EA = 0; }
;
此外,您会注意到代码库中的这些错误的来源在产生错误之前不会检查任何内容,例如: 1和2.
解决方法是降级到允许这样做的PHP版本.