or die(); kann Hoster ausschalten?

A

Anaki

Aktives Mitglied
Thread Starter
Dabei seit
24.04.2006
Beiträge
2.118
Reaktionspunkte
11
Hallo Leute,

ich führe PHP auf meinem angemieteten Server aus (toptip.net hostet :rolleyes: ).
Ich lerne gerade erst PHP und bin jetzt nach Counter und Formularauswertung bei Fehlerabfangmöglichkeiten und die Möglichkeit über or die kommt natürlich auch vor und ist in meinen Augen einer der saubersten und hilfreichesten Möglichkeiten Fehler abzufangen nur funktioniert es auf meinem Server nicht.

Zentrale Frage:
Ist dem Hoster möglich diese Funktion aus was für einem Grund auch immer abzuschalten?

TopTip ist nicht der tollste hoster, eigentlich ist er mittlerweile einer der schlechtesten geworden und wie ich seit neustem weiß hat TopTip z. B. Mails über PHP deaktiviert, deswegen frag ich!

or die geht in so fern nicht, dass der generelle Fehlertext angezeigt wird anstatt der String, der über or die definiert wird.

:confused:

PS: Quelltext benötigt ihr in sofern nicht, da ich das unter einfachsten Bedingungen getestet habe, 150 mal ins Buch und im Netz gesucht habe und ich mich 100% nicht vertippt habe! So viel kann man da ja auch nicht falsch machen.

Danke!
Anâki
 
Erstmal: Deinen Post muss wohl jeder 5x lesen um zu verstehen was Du eigentlich willst...
Tip: zum Lernen ein MAMP/WAMP/LAMP lokal installieren, dann hast Du Apache, MySql und PHP und kannst tun und lassen was Du willst.
Ich vermute dennoch einen Fehler in der Programmierung, weil "die()" eigentlich immer funktioniert.
Ansonsten kannst Du Dir eigene Error-Handler erstellen, Stichwort "set_error_handler("customHandler");"
 
du hast meine frage nicht beantwortet.
ich weiß nicht was an der zentralen frage unverständlich ist.
mamp führt bei mir php nicht korrekt aus, gabs schonmal nen thread zu indem mir niemand helfen konnte. (z. B. werden keine externen Datein ausgeführt, beim Widget hängt sich Mamp komplett auf usw.)
 
Anaki schrieb:
bei Fehlerabfangmöglichkeiten und die Möglichkeit über or die kommt natürlich auch vor und ist in meinen Augen einer der saubersten und hilfreichesten Möglichkeiten Fehler abzufangen nur funktioniert es auf meinem Server nicht.

Obiges ist die Frage/das Problem aus dem initialen Posting!

@Anaki Erste Regel: Programmierer machen immer Fehler, sie sehen sie nur eben nicht ad hoc! Daher macht eine einfache Beispielzeile sehrwohl Sinn, egal wie oft Du was geprüft hast!
 
Anaki schrieb:
du hast meine frage nicht beantwortet.
ich weiß nicht was an der zentralen frage unverständlich ist.
Wie falkgottschalk schon schrieb: dein Post ist nicht einfach zu verstehen. Deine Frage wurde dir auch beantwortet: „Ich vermute dennoch einen Fehler in der Programmierung, weil "die()" eigentlich immer funktioniert.“ => nein, man kann es nicht abschalten


zu deinem Problem:

or die geht in so fern nicht, dass der generelle Fehlertext angezeigt wird anstatt der String, der über or die definiert wird.
Das deutet darauf hin, dass der Fehler an einer anderen Stelle liegt, als du denkst. Poste besser mal den Quelltext.
 
aber natürlich kann man in PHP Funktionen sperren, das geht über die php.ini, mit dem Schlüssel "disable_functions". Dass es für den Hoster Sinn macht, die Funktion "die" zu sperren, wage ich mal zu bezweifeln. Und glaube daher auch nicht, dass die Funktion gesperrt ist.
Bin mir gerade nicht sicher, aber eventuell sieht man das unter phpinfo();
 
Anaki schrieb:
or die geht in so fern nicht, dass der generelle Fehlertext angezeigt wird anstatt der String, der über or die definiert wird.

Was ist für dich eigentlich ein "genereller Fehlertext"? Mach mal Copy&Paste. Normalerweise beschreibt PHP immer sehr genau was nicht stimmt...
 
Gunter_S schrieb:
aber natürlich kann man in PHP Funktionen sperren, das geht über die php.ini, mit dem Schlüssel "disable_functions". Dass es für den Hoster Sinn macht, die Funktion "die" zu sperren, wage ich mal zu bezweifeln. Und glaube daher auch nicht, dass die Funktion gesperrt ist.
Bin mir gerade nicht sicher, aber eventuell sieht man das unter phpinfo();
ah danke für die aufklärung, du kennst toptip.net nicht, die laden sich was weiß ich nich wie viel domains auf nen server und versuchen so viel traffic wie nur geht zusparen, daher geht auch kein mailen bei denen über php.

mit normalen fehlertext meine ich ja diese ausführlichen anzeigen mit zeilenangabe und allen drum und dran.

der fehler der da auftritt ist es extra herbeigeführt (auslesen einer txt datei die nicht existiert) aber der darzustellende fehlertext soll ja über 'die' durch einen string ersetzt bzw. unterdrückt werden und das wird ignoriert.

edit:
http://www.scieux-pere.de/OhneTitel.php

<?php
$oeffnen=fopen("gibsnicht.txt","r")
or die("Ich bin eine selbstdefinierte Fehlerausgabe!");
?>

laut meinem php-buch sollte der fehlertext von php unterbunden sein, isser aber nicht oder hab ich da was missverstanden, wenn ja entschuldige ich mich erstmal. :confused:
 
Zuletzt bearbeitet:
Es macht aber in der Tat keinen Sinn die() zu sperren, man spart dadurch ja nichtmal was! Es besteht jedoch bei PHP ab Version 5 die Möglichkeit Fehler in Log-Dateien auszugeben statt auf dem Bildschirm ( was ja viel sicherer ist).

Leider weiß ich nicht, ob auch die() von dieser Umlenkung des Fehlertextes betroffen ist; Ich nutze die() nämlich nie. In jedem Fall kann man zur Reduktion von Nebenläufigkeiten ja mal auf jede Bedingung verzeichten und ein Skript mit

<?
die("Hello World!");
?>

erstellen. Damit dürfte sich Deine Frage sehr eindeutig beantworten lassen!
 
Anaki schrieb:
ah danke für die aufklärung, du kennst toptip.net nicht
nein, kenne ich nicht direkt, muss man wohl auch nicht. Aber ich weiß schon was das für Anbieter sind.

Anaki schrieb:
<?php
$oeffnen=fopen("gibsnicht.txt","r")
or die("Ich bin eine selbstdefinierte Fehlerausgabe!");
?>
das hat definitiv nichts mit Sperrung von "die" zu tun, sonst wäre die Fehlermeldung auch entsprechend anders.
Ich gehe mal davon aus, dass die in deinem PHP-Buch nicht damit rechnen, dass man sich auch Warnungen ausgeben läßt. Versuch mal:
PHP:
$oeffnen=@fopen("gibtsnicht.txt","r") or die("blubb");

Gunter
 
ah super gunter! :D
danke so klappts nur zu blöd, dass die das so nicht ins buchschreiben, habe gerade nochmal nachgesehen, die @-methode wird direkt davor genannt aber von ner kombi mit den beiden steht und sieht man auch nichts! :(

aber danke, hab ich was dazugelernt. ;)
sorry, dass ich eure zeit mit so banalen firlefans verschwende. :rolleyes:

Anâki
 
Zurück
Oben Unten