narfomator: ini_set() funktioniert nicht mehr

Hallo Forum,

nachdem mein Provider seine Server umgezogen hat, funktioniert die PHP-Funktion ini_set() nicht mehr. Der Provider sagt, ich muss meine Scripts anpassen. Ist irgendwie blöd. Ich habe die Ausgabe der Funktion phpinfo() (online und lokal) verglichen und versucht, meine php.ini entsprechend anzupassen, um die Einstellung zu finden, die das Ganze verursacht - leider ohne Erfolg. auch in der Konfigurationseinstellung "disable_functions" ist nichts enthalten. Eine Suche im Web oder diesem Forum brachte mich nicht weiter. Weiß hier jemand weiter?

Vielen Dank.

  1. Hallo narfomator,

    werde bitte Konkret! Was funktioniert jetzt anders/gar nicht? Was soll erreicht werden? Wie sieht es mit einem Umzug Deinerseits zu einem Provider aus?

    Gruß aus Berlin!
    eddi

    --
    Wer mit Kanonen auf Spatzen schießt, mag zwar immernoch Augen für die Tauben auf dem Dach haben, aber keine Hand zum reichen.
    1. werde bitte Konkret! Was funktioniert jetzt anders/gar nicht? Was soll erreicht werden? Wie sieht es mit einem Umzug Deinerseits zu einem Provider aus?

      ich setze mittels ini_set('include_path', '.:includes:templates') den Include-Pfad. Gestern hat mein Provider seine Server umgezogen und seitdem funktioniert die Methode nicht mehr. Ich habe alles ausführlich getestet.

      Ein

        
      print ini_get('include_path');  
      ini_set('include_path', 'teststring');  
      print ini_get('include_path');  
      
      

      zeigte keinen Unterschied an.

      Ein Umzug kommt nur dann in Betracht, wenn der Provider meiner mehrmaligen nachdrücklichen Bitte nicht nachkommen will. Allerdings ist er halt recht günstig und einen äquivalenten konnte ich bisher nicht finden.

      1. Hallo,

        print ini_get('include_path');
        ini_set('include_path', 'teststring');
        print ini_get('include_path');

        
        > zeigte keinen Unterschied an.  
          
        bekommst du eine Fehlermeldung? Etwas in der Art "ini\_set() has been disabled for security reasons"?  
        Wenn es nur um den 'include\_path' geht nimm `set_include_path()`{:.language-php}  
          
        HTH  
          
        Jochen  
        
        -- 
        ![](http://www.electric-lemon.de/scribble/pics/tn_picV1_051.png) Kritzeln statt texten: [Scribbleboard](http://www.electric-lemon.de/scribbleboard.php)
        
        1. bekommst du eine Fehlermeldung? Etwas in der Art "ini_set() has been disabled for security reasons"?
          Wenn es nur um den 'include_path' geht nimm set_include_path()

          Hallo, nein keine Fehlermeldung.

          Auch die Funktion set_include_path() zeigt keine Auswirkung.

          1. Hi,

            Hallo, nein keine Fehlermeldung.

            error_reporting(E_ALL);  
            ini_set('display_errors', 1);  
              
            print ini_get('include_path');  
            ini_set('include_path', 'teststring');  
            print ini_get('include_path');
            

            bekommst du jetzt einen Fehler?

            Jochen

            --
            Kritzeln statt texten: Scribbleboard
            1. error_reporting(E_ALL);

              ini_set('display_errors', 1);

              print ini_get('include_path');
              ini_set('include_path', 'teststring');
              print ini_get('include_path');

                
              Soweit war ich auch schon. Der Fehler, den ich dann kriege, bezieht sich nur darauf, dass die zu inkludierende Datei nicht gefunden werden kann, weil eben der Include-Pfad nicht mehr auf die entsprechenden Unterordner verweist.  
                
              `Warning: require_once(class-config.php): failed to open stream: No such file or directory in /home/www/web347/html/include.php on line 26 Fatal error: require_once(): Failed opening required 'class-config.php' (include_path='.') in /home/www/web347/html/include.php on line 26 `{:.language-php}
              
      2. Hi,

        ich setze mittels ini_set('include_path', '.:includes:templates') den Include-Pfad. Gestern hat mein Provider seine Server umgezogen und seitdem funktioniert die Methode nicht mehr.

        Ist der Pfad denn auf dem neuen Server überhaupt noch korrekt?

        print ini_get('include_path');
        ini_set('include_path', 'teststring');
        print ini_get('include_path');

        
        > zeigte keinen Unterschied an.  
          
        Ich weiss nicht, wie da im Zweifelsfalle reagiert wird, wenn der Pfad, den du zu setzen versuchst, gar nicht existiert.  
          
        MfG ChrisB  
          
        
        -- 
        Light travels faster than sound - that's why most people appear bright until you hear them speak.
        
        1. Ist der Pfad denn auf dem neuen Server überhaupt noch korrekt?

          Ja, der Pfad ist korrekt, denn es werden nur relative Pfade benutzt und an meiner Ordnerstruktur hat sich ja seither nichts geändert.

      3. Hallo,

        ich setze mittels ini_set('include_path', '.:includes:templates') den Include-Pfad. Gestern hat mein Provider seine Server umgezogen und seitdem funktioniert die Methode nicht mehr. Ich habe alles ausführlich getestet.

        dann ist also irgendwas an der Server- oder PHP-Konfiguration nun anders als vorher. (Ach, wer hätte das gedacht?)

        Ein Umzug kommt nur dann in Betracht, wenn der Provider meiner mehrmaligen nachdrücklichen Bitte nicht nachkommen will.

        Hast du ihn denn schon einmal auf dieses konkrete Problem angesprochen? Wenn ja, was sagt er dazu? Wenn nein, warum nicht?

        Allerdings ist er halt recht günstig und einen äquivalenten konnte ich bisher nicht finden.

        Zitat #49

        So long,
         Martin

        --
        Ja, ja ... E.T. wusste schon, warum er wieder nach Hause wollte.
        1. dann ist also irgendwas an der Server- oder PHP-Konfiguration nun anders als vorher. (Ach, wer hätte das gedacht?)

          Das ist mir auch klar.

          Hast du ihn denn schon einmal auf dieses konkrete Problem angesprochen? Wenn ja, was sagt er dazu? Wenn nein, warum nicht?

          Auf meine erste Anfrage erhielt ich die Standardantwort "Passen Sie Ihre Scripte an", auf meine zweite, energischere bisher noch keine Antwort.

        2. Zitat #49

          Danke für den tollen Hinweis, aber der Provider ist nicht kostenlos, sondern günstig. Und für dessen Preispolitik kann ich nichts. Außerdem kann es keine Lösung sein, den Provider zu wechseln, weil etwas nicht gleich auf Anhieb funktioniert.

      4. In sollchen Fällen sollte man sich darauf besinnen, dass PHP eine Programmiersprache ist und nicht nur zum anbinden an eine Datenbank taugt:

        function my_include($datei,$func='include'){  
        	$f_name		=array('include','include_once','require','require_once');  
        	$include_path	=".:/home/eddi";  
          
        	$include_path	=explode(':',$include_path);  
        	$file		=false;  
        	foreach($include_path as &$v){  
        		$v=(substr($v,-1)!='/') ? $v.'/' : $v;  
        		if(file_exists($v.$datei)){  
        			$file=$v.$datei;  
        			break;  
        		}  
        	}  
        	if(!in_array($func, $f_name)){  
        		trigger_error('Unbestimmter Funktionsaufruf '.$func,E_USER_WARNING);  
        		return false;  
        	}  
        	elseif(!$file){  
        		switch($func){  
        			case 'include' || 'include_once':  
        				trigger_error($datei.' existiert nicht',E_USER_WARNING );  
        				return false;  
        			default:  
        				trigger_error($datei.' existiert nicht',E_USER_ERROR);  
        				exit;  
        		}  
        	}  
        	switch($func){  
        		case 'include_once':  
        			return include_once($file);  
        		case 'require':  
        			return require($file);  
        		case 'require_once':  
        			return require_once($file);  
        		default:  
        			return include($file);  
        	}  
        }
        

        Gruß aus Berlin!
        eddi

        --
        Wer mit Kanonen auf Spatzen schießt, mag zwar immernoch Augen für die Tauben auf dem Dach haben, aber keine Hand zum reichen.