5. 变更的函数
- unserialize()
添加第二个参数设置允许被反序列化的类:(RFC: https://wiki.php.net/rfc/secure_unserialize)
unserialize($foo, ["allowed_classes" => ["MyClass", "MyClass2"]]);
proc_open()
- proc_open()打开的最大限制之前是写死的16,现在这个限制被移除了,最大数量取决于 PHP 可用的内存.
- windows
版本增加了选项
"blocking_pipes"
, 可用来指定是否强制以块的方式读取.
array_column(): 同时支持对象数组与二维数组.对象只处理
public
属性且利用__get()魔术方法的实现动态属性的对象必须必须实现__isset()方法.stream_context_create() stream_context_create() windows 下面可以接收
array("pipe" => array("blocking" => <boolean>))
参数.dirname() 添加可选参数($levels)允许向上获取多次目录名称.
dirname(dirname($foo)) => dirname($foo, 2);
debug_zval_dump() 打印结果中使用 "int" 代替 "long", "float" 代替 "double". (译者注: 由于PHP7标量类型再无引用计数, 如无, debug_zval_dump 不再打印出refcount()数量)
getenv() 自7.0.9起, getenv()添加可选的第二个参数, 如果为true, getenv() 仅考虑本地环境变量而排除SAPI环境变量.
fopen() 自7.0.16起, 加入'e'模式, 为打开的文件描述符设置close-on-exec flag.只当PHP在POSIX.1-2008标准操作系统中编译时可用.