Signatur
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
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;
}
?>
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;
}
?>
// 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.