<!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>New Error Messages</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="migration52.incompatible.html">Backward Incompatible Changes</a></div> <div class="next" style="text-align: right; float: right;"><a href="migration52.datetime.html">Changes in PHP datetime support</a></div> <div class="up"><a href="migration52.html">Migrating from PHP 5.1.x to PHP 5.2.x</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="migration52.error-messages" class="section"> <h2 class="title">New Error Messages</h2> <p class="para"> Below are the new error messages that have not been discussed elsewhere in this document. </p> <p class="para"> <div class="example" id="example-5608"> <p><strong>Example #1 In PHP Core</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">" "</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">session_regenerate_id</span><span style="color: #007700">();<br /></span><span style="color: #FF8000">/* Warning: session_regenerate_id(): Cannot regenerate<br /> session id - headers already sent in filename on line n */<br /><br /></span><span style="color: #0000BB">str_word_count</span><span style="color: #007700">(</span><span style="color: #DD0000">"string"</span><span style="color: #007700">, </span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: str_word_count(): Invalid format value 4<br /> in filename on line n */<br /><br /></span><span style="color: #0000BB">strripos</span><span style="color: #007700">(</span><span style="color: #DD0000">"foo"</span><span style="color: #007700">, </span><span style="color: #DD0000">"f"</span><span style="color: #007700">, </span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Notice: strripos(): Offset is greater than the<br /> length of haystack string in filename on line n */<br /><br /></span><span style="color: #0000BB">strrpos</span><span style="color: #007700">(</span><span style="color: #DD0000">"foo"</span><span style="color: #007700">, </span><span style="color: #DD0000">"f"</span><span style="color: #007700">, </span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /></span><span style="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 /></span><span style="color: #007700">include </span><span style="color: #DD0000">"php://input"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">/* Warning: include(): URL file-access is disabled<br /> in the server configuration in filename on line n */<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> <p class="para"> <div class="example" id="example-5609"> <p><strong>Example #2 <a href="language.oop5.html" class="link">Object Oriented Code</a> in PHP Core</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #007700">interface </span><span style="color: #0000BB">foo </span><span style="color: #007700">{<br />}<br />class </span><span style="color: #0000BB">bar </span><span style="color: #007700">implements </span><span style="color: #0000BB">foo</span><span style="color: #007700">, </span><span style="color: #0000BB">foo </span><span style="color: #007700">{<br />}<br /></span><span style="color: #FF8000">/* Fatal error: Class bar cannot implement previously<br /> implemented interface foo in filename on line n */<br /><br /><br /></span><span style="color: #007700">class </span><span style="color: #0000BB">foo </span><span style="color: #007700">{<br /> public </span><span style="color: #0000BB">$bar</span><span style="color: #007700">;<br /> function </span><span style="color: #0000BB">__get</span><span style="color: #007700">(</span><span style="color: #0000BB">$var</span><span style="color: #007700">)<br /> {<br /> return </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">bar</span><span style="color: #007700">;<br /> }<br />}<br /><br /></span><span style="color: #0000BB">$foo </span><span style="color: #007700">= new </span><span style="color: #0000BB">foo</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$bar </span><span style="color: #007700">=& </span><span style="color: #0000BB">$foo</span><span style="color: #007700">-></span><span style="color: #0000BB">prop</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">/* Notice: Indirect modification of overloaded property<br /> foo::$prop has no effect in filename on line n */<br /><br /><br /></span><span style="color: #007700">class </span><span style="color: #0000BB">foo </span><span style="color: #007700">implements </span><span style="color: #0000BB">iterator </span><span style="color: #007700">{<br /> public function </span><span style="color: #0000BB">current</span><span style="color: #007700">() {<br /> }<br /> public function </span><span style="color: #0000BB">next</span><span style="color: #007700">() {<br /> }<br /> public function </span><span style="color: #0000BB">key</span><span style="color: #007700">() {<br /> }<br /> public function </span><span style="color: #0000BB">valid</span><span style="color: #007700">() {<br /> }<br /> public function </span><span style="color: #0000BB">rewind</span><span style="color: #007700">() {<br /> }<br />}<br /><br /></span><span style="color: #0000BB">$foo </span><span style="color: #007700">= new </span><span style="color: #0000BB">foo</span><span style="color: #007700">();<br />foreach(</span><span style="color: #0000BB">$foo </span><span style="color: #007700">as &</span><span style="color: #0000BB">$ref</span><span style="color: #007700">) {}<br /></span><span style="color: #FF8000">/* Fatal error: An iterator cannot be used with foreach<br /> by reference in filename on line n */<br /><br /><br /></span><span style="color: #007700">class </span><span style="color: #0000BB">foo </span><span style="color: #007700">{<br /> private function </span><span style="color: #0000BB">__construct</span><span style="color: #007700">() {<br /> }<br />}<br />class </span><span style="color: #0000BB">bar </span><span style="color: #007700">extends </span><span style="color: #0000BB">foo </span><span style="color: #007700">{<br /> public function </span><span style="color: #0000BB">__construct</span><span style="color: #007700">() {<br /> </span><span style="color: #0000BB">parent</span><span style="color: #007700">::</span><span style="color: #0000BB">__construct</span><span style="color: #007700">();<br /> </span><span style="color: #FF8000">/* Fatal error: Cannot call private<br /> foo::__construct() in filename on line n */<br /> </span><span style="color: #007700">}<br />}<br />new </span><span style="color: #0000BB">bar</span><span style="color: #007700">;<br /><br /><br /></span><span style="color: #0000BB">stream_filter_register</span><span style="color: #007700">(</span><span style="color: #DD0000">""</span><span style="color: #007700">, </span><span style="color: #DD0000">"class"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: stream_filter_register(): Filter name<br /> cannot be empty in filename on line n */<br /><br /><br /></span><span style="color: #0000BB">stream_filter_register</span><span style="color: #007700">(</span><span style="color: #DD0000">"filter"</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: stream_filter_register(): Class name<br /> cannot be empty in filename on line n */<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> <p class="para"> <div class="example" id="example-5610"> <p><strong>Example #3 In the <a href="ref.bzip2.html" class="link">bzip2</a> Extension</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />bzopen</span><span style="color: #007700">(</span><span style="color: #DD0000">""</span><span style="color: #007700">, </span><span style="color: #DD0000">"w"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: bzopen(): filename cannot be empty<br /> in filename on line n */<br /><br /></span><span style="color: #0000BB">bzopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"foo"</span><span style="color: #007700">, </span><span style="color: #DD0000">"a"</span><span style="color: #007700">);<br /></span><span style="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 /></span><span style="color: #0000BB">$fp </span><span style="color: #007700">= </span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">"foo"</span><span style="color: #007700">, </span><span style="color: #DD0000">"w"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">bzopen</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">, </span><span style="color: #DD0000">"r"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: bzopen(): cannot read from a stream<br /> opened in write only mode in filename on line n */<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> <p class="para"> <div class="example" id="example-5611"> <p><strong>Example #4 In the <a href="ref.datetime.html" class="link">datetime</a> Extension</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />strtotime</span><span style="color: #007700">(</span><span style="color: #DD0000">"today"</span><span style="color: #007700">, </span><span style="color: #DD0000">"now"</span><span style="color: #007700">);<br /></span><span style="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 /></span><span style="color: #007700">new </span><span style="color: #0000BB">DateTime</span><span style="color: #007700">(new </span><span style="color: #0000BB">stdclass</span><span style="color: #007700">);<br /></span><span style="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 /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> <p class="para"> <div class="example" id="example-5612"> <p><strong>Example #5 In the <a href="ref.dbase.html" class="link">dBase</a> Extension</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />dbase_open</span><span style="color: #007700">(</span><span style="color: #DD0000">"foo"</span><span style="color: #007700">, -</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: Invalid access mode -1 in filename on line n */<br /><br />/* As of PHP 5.2.1 */<br /></span><span style="color: #0000BB">dbase_open</span><span style="color: #007700">(</span><span style="color: #DD0000">"foo"</span><span style="color: #007700">, </span><span style="color: #0000BB">null</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: The filename cannot be empty in filename on line n */<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> <p class="para"> <div class="example" id="example-5613"> <p><strong>Example #6 In the <a href="ref.mcrypt.html" class="link">mcrypt</a> Extension</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />$key </span><span style="color: #007700">= </span><span style="color: #DD0000">"this is a secret key"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$td </span><span style="color: #007700">= </span><span style="color: #0000BB">mcrypt_module_open</span><span style="color: #007700">(</span><span style="color: #DD0000">'tripledes'</span><span style="color: #007700">, </span><span style="color: #DD0000">''</span><span style="color: #007700">, </span><span style="color: #DD0000">'ecb'</span><span style="color: #007700">, </span><span style="color: #DD0000">''</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$iv </span><span style="color: #007700">= </span><span style="color: #0000BB">mcrypt_create_iv </span><span style="color: #007700">(</span><span style="color: #0000BB">mcrypt_enc_get_iv_size</span><span style="color: #007700">(</span><span style="color: #0000BB">$td</span><span style="color: #007700">),<br /> </span><span style="color: #0000BB">MCRYPT_RAND</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">mcrypt_generic_init</span><span style="color: #007700">(</span><span style="color: #0000BB">$td</span><span style="color: #007700">, </span><span style="color: #0000BB">$key</span><span style="color: #007700">, </span><span style="color: #0000BB">$iv</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$encrypted_data </span><span style="color: #007700">= </span><span style="color: #0000BB">mcrypt_generic</span><span style="color: #007700">(</span><span style="color: #0000BB">$td</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: mcrypt_generic(): An empty string was<br /> passed in filename on line n */<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> <p class="para"> <div class="example" id="example-5614"> <p><strong>Example #7 In the <a href="ref.oci8.html" class="link">oci8</a> Extension</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />oci_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"pass"</span><span style="color: #007700">, </span><span style="color: #DD0000">"db"</span><span style="color: #007700">, </span><span style="color: #DD0000">"bogus_charset"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: Invalid character set name:<br /> bogus_charset in filename on line n */<br /><br /></span><span style="color: #0000BB">$oci </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"pass"</span><span style="color: #007700">, </span><span style="color: #DD0000">"db"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">oci_password_change</span><span style="color: #007700">(</span><span style="color: #0000BB">$oci</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">, </span><span style="color: #DD0000">"old"</span><span style="color: #007700">, </span><span style="color: #DD0000">"new"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: username cannot be empty in filename<br /> on line n */<br /><br /></span><span style="color: #0000BB">oci_password_change</span><span style="color: #007700">(</span><span style="color: #0000BB">$oci</span><span style="color: #007700">, </span><span style="color: #DD0000">"user"</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">, </span><span style="color: #DD0000">"new"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: old password cannot be empty in filename<br /> on line n */<br /><br /></span><span style="color: #0000BB">oci_password_change</span><span style="color: #007700">(</span><span style="color: #0000BB">$oci</span><span style="color: #007700">, </span><span style="color: #DD0000">"user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"old"</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: new password cannot be empty in filename<br /> on line n */<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> <p class="para"> <div class="example" id="example-5615"> <p><strong>Example #8 In the <a href="ref.spl.html" class="link">SPL</a> Extension</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />$obj </span><span style="color: #007700">= new </span><span style="color: #0000BB">SplFileObject</span><span style="color: #007700">(</span><span style="color: #0000BB">__FILE__</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$obj</span><span style="color: #007700">-></span><span style="color: #0000BB">fgetcsv</span><span style="color: #007700">(</span><span style="color: #DD0000">"foo"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: SplFileObject::fgetcsv(): delimiter must<br /> be a character in filename on line n */<br /><br /></span><span style="color: #0000BB">$obj</span><span style="color: #007700">-></span><span style="color: #0000BB">fgetcsv</span><span style="color: #007700">(</span><span style="color: #DD0000">","</span><span style="color: #007700">, </span><span style="color: #DD0000">"foo"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Warning: SplFileObject::fgetcsv(): enclosure must<br /> be a character in filename on line n */<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> <p class="para"> <div class="example" id="example-5616"> <p><strong>Example #9 In the <a href="ref.sem.html" class="link">Semaphore</a> (sysvmsg) extension</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">/* Warning: maximum size of the message has to be<br /> greater then zero in filename on line n */<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> <p class="para"> <div class="example" id="example-5617"> <p><strong>Example #10 A 5.2.1+ <a href="ref.zip.html" class="link">Zip</a> Example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />$obj </span><span style="color: #007700">= new </span><span style="color: #0000BB">ZipArchive</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$obj</span><span style="color: #007700">-></span><span style="color: #0000BB">open</span><span style="color: #007700">(</span><span style="color: #DD0000">'archive.zip'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$obj</span><span style="color: #007700">-></span><span style="color: #0000BB">setCommentName</span><span style="color: #007700">(</span><span style="color: #DD0000">''</span><span style="color: #007700">, </span><span style="color: #DD0000">'comment'</span><span style="color: #007700">);<br /></span><span style="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 /></span><span style="color: #0000BB">$obj</span><span style="color: #007700">-></span><span style="color: #0000BB">getCommentName</span><span style="color: #007700">(</span><span style="color: #DD0000">''</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Notice: ZipArchive::getCommentName(): Empty string<br /> as entry name in filename on line n */<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="migration52.incompatible.html">Backward Incompatible Changes</a></div> <div class="next" style="text-align: right; float: right;"><a href="migration52.datetime.html">Changes in PHP datetime support</a></div> <div class="up"><a href="migration52.html">Migrating from PHP 5.1.x to PHP 5.2.x</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>