Manual do PHP
Anterior | Apêndice B. Migrating from PHP 5.1.x to PHP 5.2.x | Próxima

# New Error Messages

Below are the new error messages that have not been discussed elsewhere in this document.

Exemplo B-1. In PHP Core
`<?php echo " "; session_regenerate_id(); /* Warning: session_regenerate_id(): Cannot regenerate session id - headers already sent in filename on line n */ str_word_count("string", 4); /* Warning: str_word_count(): Invalid format value 4 in filename on line n */ strripos("foo", "f", 4); /* Notice: strripos(): Offset is greater than the length of haystack string in filename on line n */ strrpos("foo", "f", 4); /* Notice: strrpos(): Offset is greater than the length of haystack string in filename on line n */ /* As of PHP 5.2.1, when allow_url_include is OFF (default) */ include "php://input"; /* Warning: include(): URL file-access is disabled in the server configuration in filename on line n */ ?>`

Exemplo B-2. Object Oriented Code in PHP Core
`<?php interface foo { } class bar implements foo, foo { } /* Fatal error: Class bar cannot implement previously implemented interface foo in filename on line n */ class foo { public $bar; function __get($var) { return $this->bar; } } $foo = new foo; $bar =& $foo->prop; /* Notice: Indirect modification of overloaded property foo::$prop has no effect in filename on line n */ class foo implements iterator { public function current() { } public function next() { } public function key() { } public function valid() { } public function rewind() { } } $foo = new foo(); foreach($foo as &$ref) {} /* Fatal error: An iterator cannot be used with foreach by reference in filename on line n */ class foo { private function __construct() { } } class bar extends foo { public function __construct() { parent::__construct(); /* Fatal error: Cannot call private foo::__construct() in filename on line n */ } } new bar; stream_filter_register("", "class"); /* Warning: stream_filter_register(): Filter name cannot be empty in filename on line n */ stream_filter_register("filter", ""); /* Warning: stream_filter_register(): Class name cannot be empty in filename on line n */`

Exemplo B-3. In the bzip2 Extension
`<?php bzopen("", "w"); /* Warning: bzopen(): filename cannot be empty in filename on line n */ bzopen("foo", "a"); /* Warning: bzopen(): 'a' is not a valid mode for bzopen(). Only 'w' and 'r' are supported in filename on line n */ $fp = fopen("foo", "w"); bzopen($fp, "r"); /* Warning: bzopen(): cannot read from a stream opened in write only mode in filename on line n */ ?>`

Exemplo B-4. In the datetime Extension
`<?php strtotime("today", "now"); /* Warning: strtotime() expects parameter 2 to be long, string given in filename on line n */ /* As of PHP 5.2.1 */ new DateTime(new stdclass); /* Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct() expects parameter 1 to be string, object given' in filename:n */ ?>`

Exemplo B-5. In the dBase Extension
`<?php dbase_open("foo", -1); /* Warning: Invalid access mode -1 in filename on line n */ /* As of PHP 5.2.1 */ dbase_open("foo", null); /* Warning: The filename cannot be empty in filename on line n */ ?>`

Exemplo B-6. In the mcrypt Extension
`<?php $key = "this is a secret key"; $td = mcrypt_module_open('tripledes', '', 'ecb', ''); $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); mcrypt_generic_init($td, $key, $iv); $encrypted_data = mcrypt_generic($td, ""); /* Warning: mcrypt_generic(): An empty string was passed in filename on line n */ ?>`

Exemplo B-7. In the oci8 Extension
`<?php oci_connect("user", "pass", "db", "bogus_charset"); /* Warning: Invalid character set name: bogus_charset in filename on line n */ $oci = oci_connect("user", "pass", "db"); oci_password_change($oci, "", "old", "new"); /* Warning: username cannot be empty in filename on line n */ oci_password_change($oci, "user", "", "new"); /* Warning: old password cannot be empty in filename on line n */ oci_password_change($oci, "user", "old", ""); /* Warning: new password cannot be empty in filename on line n */ ?>`

Exemplo B-8. In the SPL Extension
`<?php $obj = new SplFileObject(__FILE__); $obj->fgetcsv("foo"); /* Warning: SplFileObject::fgetcsv(): delimiter must be a character in filename on line n */ $obj->fgetcsv(",", "foo"); /* Warning: SplFileObject::fgetcsv(): enclosure must be a character in filename on line n */ ?>`

Exemplo B-9. In the Semaphore (sysvmsg) extension
`<?php /* Warning: maximum size of the message has to be greater then zero in filename on line n */ ?>`

Exemplo B-10. A 5.2.1+ Zip Example
`<?php $obj = new ZipArchive(); $obj->open('archive.zip'); $obj->setCommentName('', 'comment'); /* Notice: ZipArchive::setCommentName(): Empty string as entry name in filename on line n */ /* As of PHP 5.2.1 */ $obj->getCommentName(''); /* Notice: ZipArchive::getCommentName(): Empty string as entry name in filename on line n */ ?>`

Anterior | Principal | Próxima
Backward Incompatible Changes | Acima | Changes in PHP datetime support