<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Changed functions</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="migration56.deprecated.html">Deprecated features in PHP 5.6.x</a></div> <div class="next" style="text-align: right; float: right;"><a href="migration56.new-functions.html">New functions</a></div> <div class="up"><a href="migration56.html">Migrating from PHP 5.5.x to PHP 5.6.x</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="migration56.changed-functions" class="sect1"> <h2 class="title">Changed functions</h2> <div class="sect2" id="migration56.changed-functions.core"> <h3 class="title">PHP Core</h3> <ul class="itemizedlist"> <li class="listitem"> <span class="simpara"> <span class="function"><a href="function.crypt.html" class="function">crypt()</a></span> will now raise an <strong><code>E_NOTICE</code></strong> error if the <code class="parameter">salt</code> parameter is omitted. </span> </li> <li class="listitem"> <span class="simpara"> <span class="function"><a href="function.substr-compare.html" class="function">substr_compare()</a></span> will now accept <em>0</em> for its <code class="parameter">length</code> parameter. </span> </li> <li class="listitem"> <span class="simpara"> <span class="function"><a href="function.unserialize.html" class="function">unserialize()</a></span> will now fail if passed serialised data that has been manipulated to attempt to instantiate an object without calling its constructor. </span> </li> </ul> </div> <div class="sect2" id="migration56.changed-functions.curl"> <h3 class="title"><a href="book.curl.html" class="link">cURL</a></h3> <ul class="itemizedlist"> <li class="listitem"> <span class="simpara"> Uploads using the <em>@file</em> syntax are now only supported if the <strong><code>CURLOPT_SAFE_UPLOAD</code></strong> option is set to <strong><code>FALSE</code></strong>. <a href="class.curlfile.html" class="classname">CURLFile</a> should be used instead. </span> </li> </ul> </div> <div class="sect2" id="migration56.changed-functions.mcrypt"> <h3 class="title"><a href="book.mcrypt.html" class="link">Mcrypt</a></h3> <ul class="itemizedlist"> <li class="listitem"> <span class="simpara"> The <code class="parameter">source</code> parameter of <span class="function"><a href="function.mcrypt-create-iv.html" class="function">mcrypt_create_iv()</a></span> now defaults to <strong><code>MCRYPT_DEV_URANDOM</code></strong> instead of <strong><code>MCRYPT_DEV_RANDOM</code></strong>. </span> </li> </ul> </div> <div class="sect2" id="migration56.changed-functions.openssl"> <h3 class="title"><a href="book.openssl.html" class="link">OpenSSL</a></h3> <ul class="itemizedlist"> <li class="listitem"> <span class="simpara"> <span class="function"><a href="function.stream-socket-enable-crypto.html" class="function">stream_socket_enable_crypto()</a></span> now allows the <code class="parameter">crypto_type</code> parameter to be optional if the stream's SSL context includes the new <code class="parameter">crypto_type</code> option. </span> </li> </ul> </div> <div class="sect2" id="migration56.changed-functions.pgsql"> <h3 class="title"><a href="book.pgsql.html" class="link">PostgreSQL</a></h3> <ul class="itemizedlist"> <li class="listitem"> <span class="simpara"> <span class="function"><a href="function.pg-insert.html" class="function">pg_insert()</a></span>, <span class="function"><a href="function.pg-select.html" class="function">pg_select()</a></span>, <span class="function"><a href="function.pg-update.html" class="function">pg_update()</a></span> and <span class="function"><a href="function.pg-delete.html" class="function">pg_delete()</a></span> are no longer experimental. </span> </li> <li class="listitem"> <span class="simpara"> <span class="function"><a href="function.pg-send-execute.html" class="function">pg_send_execute()</a></span>, <span class="function"><a href="function.pg-send-prepare.html" class="function">pg_send_prepare()</a></span>, <span class="function"><a href="function.pg-send-query.html" class="function">pg_send_query()</a></span> and <span class="function"><a href="function.pg-send-query-params.html" class="function">pg_send_query_params()</a></span> will no longer block until query write completion if the underlying socket stream for the database connection is set to non-blocking mode. </span> </li> </ul> </div> <div class="sect2" id="migration56.changed-functions.reflection"> <h3 class="title"><a href="book.reflection.html" class="link">Reflection</a></h3> <ul class="itemizedlist"> <li class="listitem"> <span class="simpara"> <span class="methodname"><a href="reflectionclass.newinstancewithoutconstructor.html" class="methodname">ReflectionClass::newInstanceWithoutConstructor()</a></span> now allows non-final internal classes to be instantiated. </span> </li> </ul> </div> <div class="sect2" id="migration56.changed-functions.xmlreader"> <h3 class="title"><a href="book.xmlreader.html" class="link">XMLReader</a></h3> <ul class="itemizedlist"> <li class="listitem"> <span class="simpara"> <span class="methodname"><a href="xmlreader.getattributens.html" class="methodname">XMLReader::getAttributeNs()</a></span> and <span class="methodname"><a href="xmlreader.getattributeno.html" class="methodname">XMLReader::getAttributeNo()</a></span> now return <strong><code>NULL</code></strong> if the attribute could not be found, like <span class="methodname"><a href="xmlreader.getattribute.html" class="methodname">XMLReader::getAttribute()</a></span>. </span> </li> </ul> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="migration56.deprecated.html">Deprecated features in PHP 5.6.x</a></div> <div class="next" style="text-align: right; float: right;"><a href="migration56.new-functions.html">New functions</a></div> <div class="up"><a href="migration56.html">Migrating from PHP 5.5.x to PHP 5.6.x</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>