dedlfix: php-functions in einer function?

Beitrag lesen

Tach!

Natürlich "hakt" es, wenn ich zur bereits include( "db_connect.php" ) noch eine include( "db_connect2.php" ) mit denselben Funktionen hinzufüge. An der Stelle bricht das PHP-Programm ohne Fehlermeldung ab.

Das glaube ich nicht, dass da keine Meldung produziert wird. Du wirst sie nur nicht angezeigt bekommen. In der php.ini (nicht im Code mit Funktionen) braucht es dazu die Erlaubnis, Fehlermeldungen anzuzeigen. Natürlich ist das nur die Einstellung für das Entwicklungssystem, das produktive soll keine Meldungen anzeigen. Schau dir die Konfigurationswerte für das Error Handling an und was sie tun, vergleiche mit den aktuellen Werten laut phpinfo()-Ausgabe und stell sie dann auf größtmögliche Gesprächigkeit ein. Die üblichen Logfiles, vor allem auch das ErrorLog vom Webserver können ebenfalls Meldungen enthalten.

Zum eigentlichen Problem: Funktionen sind generell global und ihr Name einmalig. Man kann sie zwar geschachtelt definieren, aber dann darf man die äußere Funktion nur ein einziges Mal aufrufen, weil bei diesem Aufruf die "innere" Funktion erstellt wird und beim nächsten Aufruf bereits vorhanden ist.

Kann es sein, dass PHP keine Funktionen in einer Funktion duldet und dafür keine Fehlermeldung hat?

Doch und doch. Es ist möglich, aber die innere wird nicht als lokal begrenzte Funktion angelegt. Und es gibt selbstverständlich eine Meldung.

dedlfix.