Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Array an Funktion übergeben erzeugt Fatal Error beim Aufruf

Mitglied: 60110

60110 (Level 2)

12.12.2013, aktualisiert 18:32 Uhr, 2052 Aufrufe, 7 Kommentare

Moin zusammen,

in einem PHP-Script habe ich ein zweidimensionales Array mit Daten, welche ich in einer Funktion auslesen und berechnen will. Innerhalb der Funktion wird die Funktion rekursiv noch einmal aufgerufen. Bei diesem Aufruf wird ein Fatal Error ausgegeben:
der PHP-Code sieht so aus:

Laß ich mir per var_dump() das übergebene Array anzeigen, läuft das Script ohne Probleme durch (Ok, beim erstmaligen Aufruf werden jede Menge NULL Werte ausgegeben, aber das Script arbeitet ohne Fatal Error). Werden Werte über die POST-Variablen übergeben, läuft das Script auch problemlos und zeigt die berechneten Werte an.

Wieso läuft das Script mit var_dump() durch und läuft ohne auf den Hammer? Was kann ich machen, um den Fehlerzustand zu beheben?
Die PHP-Variable für die Größe des zugeordneten Speichers kann ich nicht verändern, da ist der Hoster der Seite vor.

Gruß J chem

Mitglied: SlainteMhath
LÖSUNG 12.12.2013, aktualisiert um 18:32 Uhr
Moin

ich hab den Code jetzt nur eben kurz überflogen, aber erzeugt das hier:
nicht eine Endlos-Schleife falls die Bedingung $r==0 true ist? Das würde das vollaufen des Speichers erklären.

lg,
Slainte
Bitte warten ..
Mitglied: nxclass
12.12.2013, aktualisiert um 10:43 Uhr
"Fatal error: Maximum function nesting level of '100' reached, aborting!"
... ja
.. könnte natürlich sein das dies beabsichtigt ist - dann müsste das Max Nesting Level erhöht werden.

weiterhin:
... unbedingt mal den Ablauf nachverfolgen und auch die Parameter prüfen.
Bitte warten ..
Mitglied: SlainteMhath
12.12.2013 um 10:47 Uhr
könnte natürlich sein das dies beabsichtigt ist - dann müsste das Max Nesting Level erhöht werden.
ne kann eigentl. nicht beabsichtigt sein.Die Funktion ist soweit ich das sehe deterministisch. Solange sich die Parameter $s und $j nicht ändern und $r einmal ==0 ist wird es das auch bleiben => endlosschleife.
Bitte warten ..
Mitglied: 60110
12.12.2013, aktualisiert um 11:37 Uhr
Moin,

in dem Array ist der erste Wert immer ungleich 0, sodaß mit dem Zugriff
zumindest einmal ein gültiger Wert ungleich 0 gefunden wird. Wenn beim zweiten oder dritten Durchlauf ein Wert = 0 gefunden wird, erfolgt der Aufruf der Funktion ja mit dem Index 0, so daß dann wieder ein Wert ungleich 0 gefunden wird.

Von daher sollte das keine Endlosschleife geben. Zudem läuft das Script ja ohne Probleme, sobald ein Wert über doe POST-Variable eingelesen wird.

Ich verstehe einfach nicht, wieso das Script "leer" auf den Hammer (Sprich: Endlosschleife) läuft, mit Daten aber nicht.

Gruß J chem
Bitte warten ..
Mitglied: 60110
12.12.2013 um 11:33 Uhr
Moin,

Sollte klar sein, da die Werte ja über eine POST-Variable aus dem aufrufenden Script übergeben werden.

Auch klar, da, wenn die POST-Variable nicht "definiert" ist, auch die Zuweisung nicht "definiert" ist.

Gruß J chem
Bitte warten ..
Mitglied: nxclass
LÖSUNG 12.12.2013, aktualisiert um 18:32 Uhr
in dem Array ist der erste Wert immer ungleich 0, sodaß mit dem Zugriff
.. "$arr_w" ist aber nicht immer ein Array - es kann auch NULL sein. .. wenn "$qrs" nicht gesetzt ist. "$qrs" muss aber "10","20",..., oder "80" sein. Sonnst wird später bei "$r = $s[$j]" "$r" ebenfalls NULL und bei der Prüfung "if ($r == 0)" ist das Ergebniss TRUE ( denn NULL == 0 ist TRUE ) ... so und dann geht er in die selbe Funktion wieder rein mit "$s" und das selbe geht wieder los.

Versuche mal
... leider kann man auch nicht erkennen was passieren soll, was von den Funktionen erwartet oder zurückgegeben wird - evtl. dazu mal paar Kommentare in den Code schreiben

PHP Version ?
wie sieht die Ausgabe aus bei dir ?
Bitte warten ..
Mitglied: 60110
12.12.2013, aktualisiert um 18:32 Uhr
Moin,

Jetzt, wo ich das schreibe und Deinen Kommentar nochmal lese, fällt mir auf, daß die Variablen ja im ersten Durchlauf, also wenn das Formular angezeigt wird und noch nicht auf "Senden" gedrückt wurde, zwar schon definiert, aber noch nicht mit Werten gefüllt sind. Dann trifft die NULL-Aussage ja zu.

Ergo setzt ich vor den Aufruf der Funktion eine Abfrage, ob die Variablen $wdt und $qrs schon gesetzt sind und laß die Funktion nur dann ausführen.

Mit der Änderung läuft es, wie ich es gerne hätte.

Danke für den "Schubs" in die richtige Richtung an euch Beide.

Gruß J chem
Bitte warten ..
Ähnliche Inhalte
Datenbanken

PHP Fatal error: Uncaught Error: Call to undefined function oci connect

gelöst Frage von PlanitecXDatenbanken22 Kommentare

Hallo Zusammen, ich sitze seit Tagen am Problem das ich keine PHP Anwendung mit Anbindung zu Oracle zum laufen ...

Batch & Shell

Powershell Funktion zum Konvertieren einer Datatable zu einem Array

gelöst Frage von derhoeppiBatch & Shell10 Kommentare

Hallo, ich habe ein Datagridview mit einer Datatable als Quelle. Bei dieser kann Einträge hinzufügen, verändern und löschen. Wenn ...

Server-Hardware

HP ProLiant DL380 G7, POST Error: 1785-Drive Array not Configured

Frage von 114801Server-Hardware10 Kommentare

Vorab: die Nutzung des "Blechs ist privat" ;-) Ich habe heute das Mainboard DL380 G6 mit dem G7 getauscht, ...

Webentwicklung

Htaccess-Datei erzeugt Endlosschleife

Frage von Der-IngoWebentwicklung5 Kommentare

Hallo zusammen, ich benötige mal euren Rat bezüglich einer htaccess-Datei. Ich versuche gerade einen Weg zu finden Zugriffe auf ...

Neue Wissensbeiträge
Sicherheit

Eine ungepatchte Sicherheitslücke in der Windows Druckerwarteschlange ermöglicht das Ausführen von Malware mit Adminrechten

Information von transocean vor 9 StundenSicherheit

Moin, eigentlich sollte die Sicherheitslücke schon seit Mai 2020 geschlossen sein. Aber lest selbst. Grüße Uwe

Erkennung und -Abwehr

Liste ungeschützter Pulse-VPN-Server veröffentlicht

Information von Visucius vor 2 TagenErkennung und -Abwehr

bzw. Der tiefe Blick in die Profi-Administratoren-Welt ;-)

Windows 10

Windows Defender verhindert Telemetrieblocking via hosts-Datei

Information von BirdyB vor 2 TagenWindows 102 Kommentare

Für diejenigen, die keine Daten an MS senden wollten, war die hosts-Datei manchmal eine Option.

Monitoring

Unabhängiger Ansatz - IoT (frei von Cloud- oder Appzwang) - Hier mit Schaltsteckdosen

Anleitung von beidermachtvongreyscull vor 5 TagenMonitoring2 Kommentare

Tach Kollegen, ich erzähle Euch mal von meiner Ausgangslage und den/m Problem(chen) Ich benutze ein NAS zur Lagerung meiner ...

Heiß diskutierte Inhalte
Server
Verbindung zum Linux Server nicht möglich
gelöst Frage von it-fraggleServer13 Kommentare

Hallo zusammen, habe gerade ein sonderbares Problem auf dessen Lösung ich gerade nicht komme. Wir haben hier seit einigen ...

CPU, RAM, Mainboards
LED Lüfter und LED LEiste dunkel beim einloggen
Frage von uridium69CPU, RAM, Mainboards11 Kommentare

Moin Ich habe einen PC mit einem ASUS RGB tauglichen Board, dort habe ich einerseits einen CPU Lüfter mit ...

Server-Hardware
Shop für Serverteile
Frage von thomas-hnServer-Hardware10 Kommentare

Hallo, als Privatanwender ist es oft nicht ganz so einfach professionelle Server-Hardware bzw. Zubehörteile zu kaufen. Welche seriösen Onlineshops ...

DNS
Vertrauensvolle DNS Server
Frage von CorraggiounoDNS9 Kommentare

Liebe Community ich habe einige Zeit im Internet verbracht und nach vertrauensvolle DNS Server recherchiert. Leider bin ich nicht ...

Weniger Werbung?
Administrator Magazin
07 | 2020 In der Juli-Ausgabe beleuchtet das IT-Administrator Magazin den Themenschwerpunkt "Monitoring & Support". Darin zeigt die Redaktion unter anderem, wie Sie die Leistung von Terminalservern im Blick behalten und welche Neuerungen das Ticketsystem OTRS 8 mitbringt. Auch die Überwachung von USV-Anlagen darf nicht fehlen. In ...