Hello,
(Fast) JEDER Syscall hat ein definiertes Fehlerverhalten, sehr oft wird ein besonderer Wert zurückgegeben, oft 0 oder negative Werte; gelegentlich gibt ein Syscall normalerweise 0 zurück, im Fehlerfall von 0 verschiedene Werte.
[...]
Das darüber liegende PHP macht noch einmal das gleiche, [...]
PHP macht etwas sehr dummes: es lässt die substantiierte Fehlernummer verschwinden und tauscht sie gegen einen hart codierten Text aus. Für diese Texte habe ich bis heute noch keine qualifizierte Übersicht gefunden, man muss sie sich also aus dem C-Quellcode rausfummeln, wenn man sie alle haben will und wissen will, in welchem Zusdammenhang sie ausgegeben werden.
Dann kann man dann mühevoll mittels $php_errormsg und der Einstellung für "track_errors = on" (unf ggf. die Unterdrückung der direkten Fehlerausgabe mit '@') wieder auf die Fehlerursache zurückführen.
http://php.net/manual/de/reserved.variables.phperrormsg.php
Ich hoffe, dass die liiiieben PHP-Entwickler in der nächsten Version die Möglichkeit qualifizierter Fehlernummern einführen.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg