新しいエラーメッセージ
以下に示す新しいエラーメッセージは、まだこのマニュアルのどこにも説明されていないものです。
例1 PHP コア
<?phpecho " ";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 */?>
例2 PHP コアにおける オブジェクト指向のコード
<?phpinterface 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 */
例3 bzip2 拡張モジュール
<?phpbzopen("", "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 */?>
例4 datetime 拡張モジュール
<?phpstrtotime("today", "now");/* Warning: strtotime() expects parameter 2 to be long, string given in filename on line n *//* 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 */?>
例5 dBase 拡張モジュール
<?phpdbase_open("foo", -1);/* Warning: Invalid access mode -1 in filename on line n *//* PHP 5.2.1 以降 */dbase_open("foo", null);/* Warning: The filename cannot be empty in filename on line n */?>
例6 mcrypt 拡張モジュール
<?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 */?>
例7 oci8 拡張モジュール
<?phpoci_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 */?>
例8 SPL 拡張モジュール
<?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 */?>
例9 Semaphore (sysvmsg) 拡張モジュール
<?php/* Warning: maximum size of the message has to be greater then zero in filename on line n */?>
例10 5.2.1 以降の Zip の例
<?php$obj = new ZipArchive();$obj->open('archive.zip');$obj->setCommentName(, 'comment');/* Notice: ZipArchive::setCommentName(): Empty string as entry name in filename on line n *//* PHP 5.2.1 以降 */$obj->getCommentName();/* Notice: ZipArchive::getCommentName(): Empty string as entry name in filename on line n */?>