Ankündigung

Einklappen
Keine Ankündigung bisher.

BUG: set_include_path -> require_once spinnt

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Ich geh doch jetzt nicht hin und bau alles um wenns doch vorher so funktioniert hat... das kanns echt nicht sein

    [edit]

    hab ich vielleicht den Bug? PHP Bugs: #43677: Inconsistent behaviour of include_path set with php_value

    Kommentar


    • #17
      Wird der Wert von include_path bei Euch in einer .htaccess oder überhaupt ausserhalb der php.ini verändert?

      Kommentar


      • #18
        Zitat von David Beitrag anzeigen
        Wird der Wert von include_path bei Euch in einer .htaccess oder überhaupt ausserhalb der php.ini verändert?
        Gute Frage... es kann sein das das Plesk das irgdendwo macht, aber wie finde ich das raus?

        Kommentar


        • #19
          Zum Beispiel mit phpinfo()

          Kommentar


          • #20
            Ja ne da steht ja das o.g. .: drin, also wirds wohl nicht geändert

            Kommentar


            • #21
              Zitat von cycap Beitrag anzeigen
              Kann mir jemand sagen was die .: bedeuten?
              Die Doppelpunkte sind Trennzeichen.
              Der einzelne Punkt steht für das aktuelle Arbeitsverzeichnis. Und die zwei Punkte für das Elternverzeichnis dazu.
              Kannst Du den error handler
              PHP-Code:
              function context_print_handler($errno$errstr$errfile$errline)
              {
                static 
              $re '/^(?:include|require)_once\(([^\)]+)\)/';
                
                if(!
              preg_match($re$errstr$s))
                {
                  return 
              false;
                }
                else
                {
                  echo 
              "<pre>\n";
                  echo 
              'file: ' $s[1] . "\n";
                  echo 
              'cwd: ' getcwd() . "\n";
                  if (
              $s[1][0]===DIRECTORY_SEPARATOR)
                  {
                    
              $paths = array($s[1]);
                  }
                  else
                  {
                    
              $paths explode(PATH_SEPARATORini_get('include_path'));
                    
              array_unshift($pathsgetcwd());
                    foreach(
              $paths as $i=>$p)
                    {
                      if(
              substr($p, -1)!==DIRECTORY_SEPARATOR)
                      {
                        
              $p .= DIRECTORY_SEPARATOR;
                      }
                      
              $paths[$i] = $p $s[1];
                    }
                  }
                  foreach(
              $paths as $p)
                  {
                    echo 
              "  '$p': " . (file_exists($p) ? 'exists':'no such file') . "\n";
                  }
                  echo 
              "</pre>\n";
                }
              }
              set_error_handler('context_print_handler'E_WARNING); 
              an zentraler Stelle einbauen?

              Kommentar


              • #22
                Hab ich eingebaut, zeigt bis jetzt noch nichts an, kam aber auch die alte Fehlermeldung bisher nicht.

                Ich habe den Code mal etwas durchforstet und an verschiedenen Stellen gesehen das der include_path geändert wird durch

                PHP-Code:
                $var_ini_set ini_set('include_path'ini_get('include_path').':./:'); 
                und kurz vorm Fehlerhaften aufruf so:

                PHP-Code:
                set_include_path(dirname(__FILE__) . PATH_SEPARATOR get_include_path() ); 
                kann das vielleicht der Auslöser des o.g. Bugs sein?

                Kommentar


                • #23
                  Kann gut sein
                  PHP Bugs: #43677: Inconsistent behaviour of include_path set with php_value
                  [7 Mar 8:21pm UTC] oliver dot graetz at gmx dot de In order to avoid getting my report marked as a duplicate of this one:

                  I have experienced a similar problem with PHP 5.2.5. I am using
                  set_include_path() but the PHP ignores the call and uses the value
                  defined in the main php.ini file.
                  Wird denn $var_ini_set getestet? ini_set und set_include_path liefern false, wenn was nicht funktioniert.
                  Da es sich aber vermutlich um einen Bug handelt, kann man sich darauf auch nicht verlassen. Aber
                  PHP-Code:
                  set_include_path(dirname(__FILE__) . PATH_SEPARATOR .  );
                  if(
                  strpos(get_include_path(), dirname(__FILE__))===false)
                  {
                    die(
                  'set_include_path bug');

                  funktioniert hoffentlich.


                  Kommentar


                  • #24
                    So grad kam ne Meldung:

                    Code:
                    file: HTMLPurifier/Strategy/Composite.php
                    cwd: /var/www/vhosts/blubb.com/httpdocs/phprojekt50/projects
                      '/var/www/vhosts/blubb.com/httpdocs/phprojekt50/projects/HTMLPurifier/Strategy/Composite.php': no such file
                      './HTMLPurifier/Strategy/Composite.php': no such file
                      '/HTMLPurifier/Strategy/Composite.php': no such file
                    
                    Fatal error:  require_once() [function.require]: Failed opening required 'HTMLPurifier/Strategy/Composite.php' (include_path='.:') in /var/www/vhosts/blubb.com/httpdocs/phprojekt50/lib/html/library/HTMLPurifier/Strategy/Core.php on line 3

                    Kommentar


                    • #25
                      Und davor ist set_include_path(dirname(__FILE__)... aufgerufen worden?
                      Dann ist das fehl geschlagen.

                      Kommentar


                      • #26
                        also dein

                        PHP-Code:
                        set_include_path(dirname(__FILE__) . PATH_SEPARATOR .  get_include_path() );
                        if(
                        strpos(get_include_path(), dirname(__FILE__))===false)
                        {
                          die(
                        'set_include_path bug');

                        sagt mir halt ab und zu mal set_include_path bug

                        [edit]

                        ich hab in die erste zeile noch das get_include_path() eingefügt

                        Kommentar


                        • #27
                          Man kann einen Wert mit php_admin_value festpinnen. Wenn das mit include_path passiert, kann man den Wert nicht mehr ini_set oder set_include_path ändern. Aber das müsste dann immer passieren. Deshalb bin ich ausnahmsweise mal geneigt, "Bug" zu rufen.
                          Auf meinem gentoo system wurde vor ein paar Tagen php 5.2.6._rc4 installiert. Ich kann gerade nicht nachsehen, aber IIRC ist zwar xdebug für unstable versions markiert, aber nicht php selbst. Also wird derzeit ein release candidate als stable version ausgeliefert. *cough*

                          Kommentar


                          • #28
                            Gibt es ne Möglichkeit php auf die 5.2.4 zu downgraden? Mit der hats ja funktioniert...

                            Kommentar


                            • #29
                              Sicher gibt es die. Das hängt davon ab, wie Du PHP installiert hast.

                              Kommentar


                              • #30
                                Hab ich ja schon gesagt ist als apache-modul eingebunden, wurde über apt-get install psa-php5-configurator installiert, da sonst Plesk streikt

                                Kommentar

                                Lädt...
                                X