Navigation

    Netgate Discussion Forum
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search

    Unerklärliches Problem mit require_once in eigenem PHP-Script

    Deutsch
    1
    1
    719
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      cantor last edited by

      Hallo zusammen,

      ich bin kurz davor, mir in der Tischplatte sämtliche Zähne auszubeißen. :-(

      Ich habe ein PHP-Script geschrieben, mit dem ich den A-Record einer Subdomain ändere, wenn sich die WAN-IP geändert hat.
      Das Script ist simpel:

      
      require_once("/usr/local/www/guiconfig.inc");
      $ifinfo = get_interface_info(wan);
      $ip_provider = $ifinfo[ipaddr];
      $url_get = "http://kasapi.kasserver.com/kas.php?kas_action=get_dns_settings&kas_login=xxxxxkas_auth_type=sha1&kas_auth_data=yyyyyf&zone_host=meinedomain.tld.&nameserver=ns5.kasserver.com";
      $url1_set = "https://kasapi.kasserver.com/kas.php?kas_action=update_dns_settings&kas_login=xxxxx&kas_auth_type=sha1&kas_auth_data=yyyyyf&record_name=subdomain&record_type=A&record_data=";
      $url2_set = "&record_aux=0&record_id=zzzzz&nameserver=ns5.kasserver.com";
      $url_set =  $url1_set . $ip_provider . $url2_set;
      /* IP-der Subdomain ueber AutoKAS API abfragen */
      $dns_abfrage = file($url_get);
      $ip_nameserver = ereg_replace(".*\'(.*)\'.*","\\1",$dns_abfrage[50]);
      if($ifinfo[pppoelink] == 'up' && $ip_provider != $ip_nameserver){
      	$curl = curl_init($url_set); 
      	curl_setopt($curl, CURLOPT_FAILONERROR, true); 
      	curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); 
      	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);   
      	curl_exec($curl);
      	};
      ?>
      

      Das Script rufe ich über cron auf:
      */2    *    *    *    *    root    /usr/local/bin/php -q /usr/local/www/change_provider_ip.php

      Offensichtlich funktioniert require_once("/usr/local/www/guiconfig.inc") in meinem Script aber nicht. Obwohl die Datei existiert (und mit file_exists gefunden wird), bricht das Script ab. Das gilt übrigens auch, wenn ich andere Files mit require bzw. require_once einbinde oder mein Script in einem anderen Verzeichnis, z.B. /var ablege.

      Es gibt im Forum einige Beispiele von User-Scripten, die auch Ressourcen über require_once einbinden, über cron aufgerufen werden und durchlaufen. Ich verstehe nicht, warum das bei meinem Script nicht der Fall ist.

      Ich nutze pfSense 2.03 auf einem Komplettsystem mit ALIX.2D13.

      Falls mir jemand das Problem bei meinem Script erklären kann, wäre ich (bzw. mein Zahnarzt) mehr als dankbar.

      Gruß  Jürgen

      1 Reply Last reply Reply Quote 0
      • First post
        Last post