<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >New Error Messages</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="Manual do PHP" HREF="index.html"><LINK REL="UP" TITLE="Migrating from PHP 5.1.x to PHP 5.2.x" HREF="migration52.html"><LINK REL="PREVIOUS" TITLE="Backward Incompatible Changes" HREF="migration52.incompatible.html"><LINK REL="NEXT" TITLE="Changes in PHP datetime support" HREF="migration52.datetime.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="section" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Manual do PHP</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="migration52.incompatible.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Apêndice B. Migrating from PHP 5.1.x to PHP 5.2.x</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="migration52.datetime.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="section" ><H1 CLASS="section" ><A NAME="migration52.error-messages" >New Error Messages</A ></H1 ><P > Below are the new error messages that have not been discussed elsewhere in this document. </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN275015" ></A ><P ><B >Exemplo B-1. In PHP Core</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /></font><font color="#007700">echo </font><font color="#DD0000">" "</font><font color="#007700">;<br /></font><font color="#0000BB">session_regenerate_id</font><font color="#007700">();<br /></font><font color="#FF8000">/* Warning: session_regenerate_id(): Cannot regenerate<br /> session id - headers already sent in filename on line n */<br /><br /></font><font color="#0000BB">str_word_count</font><font color="#007700">(</font><font color="#DD0000">"string"</font><font color="#007700">, </font><font color="#0000BB">4</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: str_word_count(): Invalid format value 4<br /> in filename on line n */<br /><br /></font><font color="#0000BB">strripos</font><font color="#007700">(</font><font color="#DD0000">"foo"</font><font color="#007700">, </font><font color="#DD0000">"f"</font><font color="#007700">, </font><font color="#0000BB">4</font><font color="#007700">);<br /></font><font color="#FF8000">/* Notice: strripos(): Offset is greater than the<br /> length of haystack string in filename on line n */<br /><br /></font><font color="#0000BB">strrpos</font><font color="#007700">(</font><font color="#DD0000">"foo"</font><font color="#007700">, </font><font color="#DD0000">"f"</font><font color="#007700">, </font><font color="#0000BB">4</font><font color="#007700">);<br /></font><font color="#FF8000">/* Notice: strrpos(): Offset is greater than the<br /> length of haystack string in filename on line n */<br /><br />/* As of PHP 5.2.1, when allow_url_include is OFF (default) */<br /></font><font color="#007700">include </font><font color="#DD0000">"php://input"</font><font color="#007700">;<br /></font><font color="#FF8000">/* Warning: include(): URL file-access is disabled<br /> in the server configuration in filename on line n */<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN275019" ></A ><P ><B >Exemplo B-2. <A HREF="language.oop5.html" >Object Oriented Code</A > in PHP Core</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />interface foo </font><font color="#007700">{<br />}<br />class </font><font color="#0000BB">bar implements foo</font><font color="#007700">, </font><font color="#0000BB">foo </font><font color="#007700">{<br />}<br /></font><font color="#FF8000">/* Fatal error: Class bar cannot implement previously<br /> implemented interface foo in filename on line n */<br /><br /><br /></font><font color="#007700">class </font><font color="#0000BB">foo </font><font color="#007700">{<br /> </font><font color="#0000BB">public $bar</font><font color="#007700">;<br /> function </font><font color="#0000BB">__get</font><font color="#007700">(</font><font color="#0000BB">$var</font><font color="#007700">)<br /> {<br /> return </font><font color="#0000BB">$this</font><font color="#007700">-></font><font color="#0000BB">bar</font><font color="#007700">;<br /> }<br />}<br /><br /></font><font color="#0000BB">$foo </font><font color="#007700">= new </font><font color="#0000BB">foo</font><font color="#007700">;<br /></font><font color="#0000BB">$bar </font><font color="#007700">=& </font><font color="#0000BB">$foo</font><font color="#007700">-></font><font color="#0000BB">prop</font><font color="#007700">;<br /></font><font color="#FF8000">/* Notice: Indirect modification of overloaded property<br /> foo::$prop has no effect in filename on line n */<br /><br /><br /></font><font color="#007700">class </font><font color="#0000BB">foo implements iterator </font><font color="#007700">{<br /> </font><font color="#0000BB">public </font><font color="#007700">function </font><font color="#0000BB">current</font><font color="#007700">() {<br /> }<br /> </font><font color="#0000BB">public </font><font color="#007700">function </font><font color="#0000BB">next</font><font color="#007700">() {<br /> }<br /> </font><font color="#0000BB">public </font><font color="#007700">function </font><font color="#0000BB">key</font><font color="#007700">() {<br /> }<br /> </font><font color="#0000BB">public </font><font color="#007700">function </font><font color="#0000BB">valid</font><font color="#007700">() {<br /> }<br /> </font><font color="#0000BB">public </font><font color="#007700">function </font><font color="#0000BB">rewind</font><font color="#007700">() {<br /> }<br />}<br /><br /></font><font color="#0000BB">$foo </font><font color="#007700">= new </font><font color="#0000BB">foo</font><font color="#007700">();<br />foreach(</font><font color="#0000BB">$foo </font><font color="#007700">as &</font><font color="#0000BB">$ref</font><font color="#007700">) {}<br /></font><font color="#FF8000">/* Fatal error: An iterator cannot be used with foreach<br /> by reference in filename on line n */<br /><br /><br /></font><font color="#007700">class </font><font color="#0000BB">foo </font><font color="#007700">{<br /> </font><font color="#0000BB">private </font><font color="#007700">function </font><font color="#0000BB">__construct</font><font color="#007700">() {<br /> }<br />}<br />class </font><font color="#0000BB">bar </font><font color="#007700">extends </font><font color="#0000BB">foo </font><font color="#007700">{<br /> </font><font color="#0000BB">public </font><font color="#007700">function </font><font color="#0000BB">__construct</font><font color="#007700">() {<br /> </font><font color="#0000BB">parent</font><font color="#007700">::</font><font color="#0000BB">__construct</font><font color="#007700">();<br /> </font><font color="#FF8000">/* Fatal error: Cannot call private<br /> foo::__construct() in filename on line n */<br /> </font><font color="#007700">}<br />}<br />new </font><font color="#0000BB">bar</font><font color="#007700">;<br /><br /><br /></font><font color="#0000BB">stream_filter_register</font><font color="#007700">(</font><font color="#DD0000">""</font><font color="#007700">, </font><font color="#DD0000">"class"</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: stream_filter_register(): Filter name<br /> cannot be empty in filename on line n */<br /><br /><br /></font><font color="#0000BB">stream_filter_register</font><font color="#007700">(</font><font color="#DD0000">"filter"</font><font color="#007700">, </font><font color="#DD0000">""</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: stream_filter_register(): Class name<br /> cannot be empty in filename on line n */</font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN275024" ></A ><P ><B >Exemplo B-3. In the <A HREF="ref.bzip2.html" >bzip2</A > Extension</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />bzopen</font><font color="#007700">(</font><font color="#DD0000">""</font><font color="#007700">, </font><font color="#DD0000">"w"</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: bzopen(): filename cannot be empty<br /> in filename on line n */<br /><br /></font><font color="#0000BB">bzopen</font><font color="#007700">(</font><font color="#DD0000">"foo"</font><font color="#007700">, </font><font color="#DD0000">"a"</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: bzopen(): 'a' is not a valid mode for<br /> bzopen(). Only 'w' and 'r' are supported in<br /> filename on line n */<br /><br /></font><font color="#0000BB">$fp </font><font color="#007700">= </font><font color="#0000BB">fopen</font><font color="#007700">(</font><font color="#DD0000">"foo"</font><font color="#007700">, </font><font color="#DD0000">"w"</font><font color="#007700">);<br /></font><font color="#0000BB">bzopen</font><font color="#007700">(</font><font color="#0000BB">$fp</font><font color="#007700">, </font><font color="#DD0000">"r"</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: bzopen(): cannot read from a stream<br /> opened in write only mode in filename on line n */<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN275029" ></A ><P ><B >Exemplo B-4. In the <A HREF="ref.datetime.html" >datetime</A > Extension</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />strtotime</font><font color="#007700">(</font><font color="#DD0000">"today"</font><font color="#007700">, </font><font color="#DD0000">"now"</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: strtotime() expects parameter 2 to be<br /> long, string given in filename on line n */<br /><br />/* As of PHP 5.2.1 */<br /></font><font color="#007700">new </font><font color="#0000BB">DateTime</font><font color="#007700">(new </font><font color="#0000BB">stdclass</font><font color="#007700">);<br /></font><font color="#FF8000">/* Fatal error: Uncaught exception 'Exception' with<br /> message 'DateTime::__construct() expects parameter<br /> 1 to be string, object given' in filename:n */<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN275034" ></A ><P ><B >Exemplo B-5. In the <A HREF="ref.dbase.html" >dBase</A > Extension</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />dbase_open</font><font color="#007700">(</font><font color="#DD0000">"foo"</font><font color="#007700">, -</font><font color="#0000BB">1</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: Invalid access mode -1 in filename on line n */<br /><br />/* As of PHP 5.2.1 */<br /></font><font color="#0000BB">dbase_open</font><font color="#007700">(</font><font color="#DD0000">"foo"</font><font color="#007700">, </font><font color="#0000BB">null</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: The filename cannot be empty in filename on line n */<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN275039" ></A ><P ><B >Exemplo B-6. In the <A HREF="ref.mcrypt.html" >mcrypt</A > Extension</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />$key </font><font color="#007700">= </font><font color="#DD0000">"this is a secret key"</font><font color="#007700">;<br /></font><font color="#0000BB">$td </font><font color="#007700">= </font><font color="#0000BB">mcrypt_module_open</font><font color="#007700">(</font><font color="#DD0000">'tripledes'</font><font color="#007700">, </font><font color="#DD0000">''</font><font color="#007700">, </font><font color="#DD0000">'ecb'</font><font color="#007700">, </font><font color="#DD0000">''</font><font color="#007700">);<br /></font><font color="#0000BB">$iv </font><font color="#007700">= </font><font color="#0000BB">mcrypt_create_iv </font><font color="#007700">(</font><font color="#0000BB">mcrypt_enc_get_iv_size</font><font color="#007700">(</font><font color="#0000BB">$td</font><font color="#007700">),<br /> </font><font color="#0000BB">MCRYPT_RAND</font><font color="#007700">);<br /></font><font color="#0000BB">mcrypt_generic_init</font><font color="#007700">(</font><font color="#0000BB">$td</font><font color="#007700">, </font><font color="#0000BB">$key</font><font color="#007700">, </font><font color="#0000BB">$iv</font><font color="#007700">);<br /></font><font color="#0000BB">$encrypted_data </font><font color="#007700">= </font><font color="#0000BB">mcrypt_generic</font><font color="#007700">(</font><font color="#0000BB">$td</font><font color="#007700">, </font><font color="#DD0000">""</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: mcrypt_generic(): An empty string was<br /> passed in filename on line n */<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN275044" ></A ><P ><B >Exemplo B-7. In the <A HREF="ref.oci8.html" >oci8</A > Extension</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />oci_connect</font><font color="#007700">(</font><font color="#DD0000">"user"</font><font color="#007700">, </font><font color="#DD0000">"pass"</font><font color="#007700">, </font><font color="#DD0000">"db"</font><font color="#007700">, </font><font color="#DD0000">"bogus_charset"</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: Invalid character set name:<br /> bogus_charset in filename on line n */<br /><br /></font><font color="#0000BB">$oci </font><font color="#007700">= </font><font color="#0000BB">oci_connect</font><font color="#007700">(</font><font color="#DD0000">"user"</font><font color="#007700">, </font><font color="#DD0000">"pass"</font><font color="#007700">, </font><font color="#DD0000">"db"</font><font color="#007700">);<br /></font><font color="#0000BB">oci_password_change</font><font color="#007700">(</font><font color="#0000BB">$oci</font><font color="#007700">, </font><font color="#DD0000">""</font><font color="#007700">, </font><font color="#DD0000">"old"</font><font color="#007700">, </font><font color="#DD0000">"new"</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: username cannot be empty in filename<br /> on line n */<br /><br /></font><font color="#0000BB">oci_password_change</font><font color="#007700">(</font><font color="#0000BB">$oci</font><font color="#007700">, </font><font color="#DD0000">"user"</font><font color="#007700">, </font><font color="#DD0000">""</font><font color="#007700">, </font><font color="#DD0000">"new"</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: old password cannot be empty in filename<br /> on line n */<br /><br /></font><font color="#0000BB">oci_password_change</font><font color="#007700">(</font><font color="#0000BB">$oci</font><font color="#007700">, </font><font color="#DD0000">"user"</font><font color="#007700">, </font><font color="#DD0000">"old"</font><font color="#007700">, </font><font color="#DD0000">""</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: new password cannot be empty in filename<br /> on line n */<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN275049" ></A ><P ><B >Exemplo B-8. In the <A HREF="ref.spl.html" >SPL</A > Extension</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />$obj </font><font color="#007700">= new </font><font color="#0000BB">SplFileObject</font><font color="#007700">(</font><font color="#0000BB">__FILE__</font><font color="#007700">);<br /></font><font color="#0000BB">$obj</font><font color="#007700">-></font><font color="#0000BB">fgetcsv</font><font color="#007700">(</font><font color="#DD0000">"foo"</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: SplFileObject::fgetcsv(): delimiter must<br /> be a character in filename on line n */<br /><br /></font><font color="#0000BB">$obj</font><font color="#007700">-></font><font color="#0000BB">fgetcsv</font><font color="#007700">(</font><font color="#DD0000">","</font><font color="#007700">, </font><font color="#DD0000">"foo"</font><font color="#007700">);<br /></font><font color="#FF8000">/* Warning: SplFileObject::fgetcsv(): enclosure must<br /> be a character in filename on line n */<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN275054" ></A ><P ><B >Exemplo B-9. In the <A HREF="ref.sem.html" >Semaphore</A > (sysvmsg) extension</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /></font><font color="#FF8000">/* Warning: maximum size of the message has to be<br /> greater then zero in filename on line n */<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN275059" ></A ><P ><B >Exemplo B-10. A 5.2.1+ <A HREF="ref.zip.html" >Zip</A > Example</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />$obj </font><font color="#007700">= new </font><font color="#0000BB">ZipArchive</font><font color="#007700">();<br /></font><font color="#0000BB">$obj</font><font color="#007700">-></font><font color="#0000BB">open</font><font color="#007700">(</font><font color="#DD0000">'archive.zip'</font><font color="#007700">);<br /></font><font color="#0000BB">$obj</font><font color="#007700">-></font><font color="#0000BB">setCommentName</font><font color="#007700">(</font><font color="#DD0000">''</font><font color="#007700">, </font><font color="#DD0000">'comment'</font><font color="#007700">);<br /></font><font color="#FF8000">/* Notice: ZipArchive::setCommentName(): Empty string<br /> as entry name in filename on line n */<br /><br />/* As of PHP 5.2.1 */<br /></font><font color="#0000BB">$obj</font><font color="#007700">-></font><font color="#0000BB">getCommentName</font><font color="#007700">(</font><font color="#DD0000">''</font><font color="#007700">);<br /></font><font color="#FF8000">/* Notice: ZipArchive::getCommentName(): Empty string<br /> as entry name in filename on line n */<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="migration52.incompatible.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Principal</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="migration52.datetime.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Backward Incompatible Changes</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="migration52.html" ACCESSKEY="U" >Acima</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Changes in PHP <A HREF="ref.datetime.html" >datetime</A > support</TD ></TR ></TABLE ></DIV ></BODY ></HTML >