Start · Sprachen · PHP · Referenz · fann_set_error_log

fann_set_error_log

Funktion

Legt fest, wohin Fehlermeldungen der FANN-Bibliothek protokolliert werden.

seit PHP 5.6.0 Kategorie: misc

Signatur

fann_set_error_log(resource $errdat, string $log_file): void

Beschreibung

fann_set_error_log() konfiguriert das Fehler-Logging der FANN-Bibliothek (Fast Artificial Neural Network). Damit kann gesteuert werden, in welche Datei oder an welchen Ort Fehlermeldungen geschrieben werden, die innerhalb der FANN-Operationen auftreten.

Als erstes Argument wird eine FANN-Ressource (ein neuronales Netz oder ein Trainingsdaten-Objekt) übergeben. Wird stattdessen null übergeben, wirkt die Einstellung global für alle FANN-Operationen. Das zweite Argument ist der Pfad zur Log-Datei, in die Fehler geschrieben werden sollen.

Diese Funktion ist besonders hilfreich beim Debuggen von FANN-Anwendungen, da interne Fehlermeldungen standardmäßig nur auf der Konsole ausgegeben werden. Durch Setzen einer Log-Datei können Fehler dauerhaft festgehalten und später analysiert werden.

Hinweis: Diese Funktion steht nur zur Verfügung, wenn die PHP-FANN-Erweiterung installiert und aktiviert ist.

Parameter

Name Typ Default Beschreibung
$errdat Pflicht resource Eine FANN-Netz-Ressource, eine FANN-Trainingsdaten-Ressource oder null für eine globale Einstellung, die alle FANN-Operationen betrifft.
$log_file Pflicht string Der Dateipfad zur Log-Datei, in die Fehlermeldungen der FANN-Bibliothek geschrieben werden sollen. Wird ein leerer String übergeben, werden Fehlermeldungen auf die Standardausgabe (stdout) umgeleitet.

Rückgabewert

Typ
void
Beschreibung
Diese Funktion gibt keinen Wert zurück.

Beispiele

Fehler-Logging für ein einzelnes FANN-Netz konfigurieren

<?php
// FANN-Netz erstellen
$num_input = 2;
$num_output = 1;
$num_layers = 3;
$num_neurons_hidden = 3;
$desired_error = 0.001;

$ann = fann_create_standard($num_layers, $num_input, $num_neurons_hidden, $num_output);

if ($ann) {
    // Fehler-Log für dieses Netz in eine Datei umleiten
    fann_set_error_log($ann, '/var/log/fann_errors.log');

    // Weitere FANN-Operationen...
    fann_set_activation_function_hidden($ann, FANN_SIGMOID_SYMMETRIC);
    fann_set_activation_function_output($ann, FANN_SIGMOID_SYMMETRIC);

    echo "FANN-Netz erstellt und Fehler-Log konfiguriert." . PHP_EOL;
    fann_destroy($ann);
} else {
    echo "Fehler beim Erstellen des FANN-Netzes." . PHP_EOL;
}
?>
FANN-Netz erstellt und Fehler-Log konfiguriert.

Globales Fehler-Logging für alle FANN-Operationen setzen

<?php
// Globales Fehler-Logging aktivieren (null als erstes Argument)
fann_set_error_log(null, '/var/log/fann_global_errors.log');

// Alle nachfolgenden FANN-Operationen schreiben Fehler in die angegebene Datei
$ann = fann_create_standard(3, 2, 3, 1);

if ($ann) {
    echo "Netz erfolgreich erstellt. Fehler werden global geloggt." . PHP_EOL;
    fann_destroy($ann);
} else {
    echo "Fehler beim Erstellen – Details in /var/log/fann_global_errors.log" . PHP_EOL;
}
?>
Netz erfolgreich erstellt. Fehler werden global geloggt.

// Wichtig · Fallstricke

Voraussetzung: Die PHP-FANN-Erweiterung (php-fann) muss installiert und in der php.ini aktiviert sein. Diese Erweiterung ist nicht standardmäßig in PHP enthalten.

Dateiberechtigungen: Der PHP-Prozess muss Schreibrechte auf die angegebene Log-Datei bzw. das übergeordnete Verzeichnis besitzen, da sonst keine Fehler protokolliert werden können und Fehlermeldungen möglicherweise verloren gehen.

Bei der Verwendung in Produktionsumgebungen sollte der Log-Pfad außerhalb des Web-Roots liegen, um zu verhindern, dass sensible Fehlerinformationen öffentlich zugänglich sind.