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

    Unerklärliches Problem mit require_once in eigenem PHP-Script

    Scheduled Pinned Locked Moved Deutsch
    1 Posts 1 Posters 879 Views
    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
      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.