Funktion zum prüfen ob Funktion erlaubt ist

Ich würde gerne mal wissen ob es in PHP eine Funktion gibt womit man im Script prüfen kann ob eine Funktion z.B. durch SafeMode gesperrt wurde.

Auf verschiedenen Servern sind ja bestimmte Funktionen deaktiviert die ich durch eine Abfrage rausfinden will.

Beispiel:

Funktion fsockopen ist deaktiviert.
Als Abfrage:
PHP:
if (der unbekannte befehl(fsockopen))
                      echo "Funktion fsockopen geht hier.";
              else
                       echo "Funktion fsockopen geht hier nicht.";

Bräuchte das ganze für ein Script, weil bei nicht vorhanden sein der Teil des Script's deaktiviert wird.
 
PHP:
@fsockopen.....
if (fsockopen)
                      echo "Funktion fsockopen geht hier.";
              else
                       echo "Funktion fsockopen geht hier nicht.";

Mein PHP ist ein wenig eingerostet aber sollte so etwas nicht vom Prinzip her zumindest mit manchen Funktionen funktionieren? Sprich die Funktion liefert 1 oder 0 zurück und das wertet man dann aus.
 
Wenn's dir nur darum geht herauszufinden, ob der safe_mode aktiviert ist, dann sollte das mit

PHP:
if ( ini_get ( 'safe_mode' ) )
    ...
else
    ...

klappen. Ansonsten hilft vielleicht is_callable().
 
Hilft alles nicht wirklich.
Vielleicht weiß ja jemand eine ganz andere Lösung für mein Problem.

Ich brauche die Überprüfung um eine Linkliste aktuell zu halten.
Alle X Besucher wird eine Funktion aufgerufen die alle Links aus der DB ausliest jeweils öffnet und bei Erfolg ein JA zum jeweiligen Eintrag schreibt. Sonst wird NEIN in die DB geschrieben.
Dazu ist dann die Abfrage ob fsockopen geht. Wenn nicht wird die Funktion überhaupt nicht benutzt.
PHP:
function linkcheck ($dbp) {
        $sql = "SELECT Linkadresse FROM ".$dbp."links";
        $ergebnis = mysql_query($sql);
    while ($row = mysql_fetch_object($ergebnis)) {
          $url = $row->Linkadresse;
          $ok = fsockopen ($url, 80, $errno, $errstr, 5);

        if ($ok)
              $sql = "UPDATE ".$dbp."links SET Erreichbar 'JA' WHERE Linkadresse = '$url'";
        else
              $sql = "UPDATE ".$dbp."links SET Erreichbar 'NEIN' WHERE Linkadresse = '$url'";

          $ergebnis = mysql_query($sql);
      }

Weder fsockopen noch fopen funktioniert.
 
Hallo,
Ich würde ja nicht die Werte "JA" und "NEIN" benutzen, sondern lieber auf 1 und 0 umsteigen.

Mit fsockopen() kann man eine TCP Verbinung mit einem Zielrechner aufbauen. Dies ist aber nicht gleichzusetzen mit einer URL.

Wenn du überprüfen möchtest, ob http://hackerboard.de/search.php erreichbar ist, muss du erst eine TCP Verbindung mit dem Server von Hackerboard aufbauen (Host: hackerboard.de), und diesem dann mitteilen, welche Seite du sehen willst.

Hier findest du ein Beispiel dazu:
PHP Manual
 
Es soll nur überprüft werden ob der Server bzw. die Domain überhaupt erreichbar ist. Das reicht schon.
Nur falls die Funktion deaktiviert ist soll die Funktion linkcheck überhaupt nicht benutzt werden.
 
Zurück
Oben