php.ini settings fuer include bei local host

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

  • php.ini settings fuer include bei local host

    Hi,

    wieder mal eine spezielle frage.

    Ich benutze php als cgi auf meinem win2000 rechner. Nun moechte ich gerne folgendes ausfuehren:
    PHP-Code:
    $settings "home.inc.php";
    $cachepath "http://localhost/init.php?settings=".$settings;
    include(
    $cachepath); 
    Leider gibt er mir folgende fehlermeldung aus und ich denke das hat was mit meinen settings in der php.ini zu tun:
    Warning: Failed opening 'http://localhost/init.php?settings=home.inc.php' for inclusion (include_path='.;c:\php4\pear') in c:\programme\apache group\apache\htdocs\v0.001_simpleprojekt\caching.mod.php on line 53
    Der Pfad ist korrekt, nur kann mein Apache/php mit dem aufruf localhost keine URL includes machen.

    Was muss ich in meiner php.ini aendern?

    ATTACH:

    Meine Settings momentan an der stelle, wo ich den fehler vermute:
    ; Paths and Directories ;
    ;;;;;;;;;;;;;;;;;;;;;;;;;

    ; UNIX: "/path1:/path2"
    ;include_path = ".:/php/includes"
    ;
    ; Windows: "\path1;\path2"
    ;include_path = ".;c:\php\includes"

    ; The root of the PHP pages, used only if nonempty.
    ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
    ; if you are running php as a CGI under any web server (other than IIS)
    ; see documentation for security issues. The alternate is to use the
    ; cgi.force_redirect configuration below
    doc_root =

    security ist _off
    Zuletzt geändert von ; 06.12.2002, 18:17.

  • #2
    hallo faustus

    hast du mal probiert, einen absoluten pfad zu setzen?

    PHP-Code:

    $settings 
    "home.inc.php";
    $cachepath "c:\\pfad_zum\\localhost\\init.php?settings=".$settings;
    include(
    $cachepath); 


    Unter win98 klappts.
    Kissolino.com

    Kommentar


    • #3
      Schau mal, ob in der php.ini der Parameter für
      safe_mode_include_dir
      irgendwie gesetzt ist.

      Ich kann die Fehlermeldung leider nicht nachvollzziehen, aber dieses Fehlverhalten wurde bereits öfters reported. Durchsuch mals das Resultat von phpinfo() nach dem String "include" vielleicht fällt Dir was auf.

      Kommentar


      • #4
        @hand

        meine settings:
        ; When safe_mode is on, UID/GID checks are bypassed when
        ; including files from this directory and its subdirectories.
        ; (directory must also be in include_path or full path must
        ; be used when including)
        safe_mode_include_dir =

        @wurzel
        probier ich gleich mal

        Kommentar


        • #5
          eh cool , das gleiche porb hab ich auch ( unter XP Prof)

          Code
          PHP-Code:
          require ("http://www.lansurfer.net/party/news.phtml?id=1029"); 
          Fehler:

          Fatal error: Failed opening required 'http://www.lansurfer.net/party/news.phtml?id=1029' (include_path='.;c:\php4\pear') in d:\apache\apache\users\secotek\lanpartyzone\index.php on line 158

          und phpinfo();

          gibt das unter include aus:
          include_path .;c:\php4\pear .;c:\php4\pear

          Wenn das Prob gelöst würde wärs endgeil

          Kommentar


          • #6
            @wurzel

            noe, klappt nicht - habe folgende varianten ausprobiert:

            $cachepath = "C:\Programme\Apache Group\Apache\htdocs\v0.001_simplePROJEKT\localhost\init.php?settings=".$settings;

            $cachepath = "C:\Programme\Apache Group\Apache\htdocs\v0.001_simplePROJEKT\init.php?settings=".$settings;

            Kommentar


            • #7
              @faustus

              selbe prob wie hier beim posten im forum,
              du musst den backslash 2x einsetzen, sonst ist er futsch.

              safe_mode_include_dir sit bei mir allerdings auch nicht gesetzt.
              Kissolino.com

              Kommentar


              • #8
                geht weder so
                C:\\Programme\\Apache Group\\Apache\\htdocs\\v0.001_simplePROJEKT\\init.php?settings=

                noch so
                C:\\Programme\\Apache Group\\Apache\\localhost\\htdocs\\v0.001_simplePROJEKT\\init.php?settings=

                Kommentar


                • #9
                  @hand

                  das steht in meiner phpinfo();

                  include_path .;c:\php4\pear .;c:\php4\pear

                  Kommentar


                  • #10
                    @faustus

                    also mein include_path ist leer


                    das include mit und ohne pfad klappt, solange ich nicht versuche, die var mit zu übergeben. Wofür eigentlich, wird doch beim include eh mit abgearbeitet wenn sie vorhanden ist.
                    Kissolino.com

                    Kommentar


                    • #11
                      Zwischenergebnis meiner Recherchen
                      <?
                      ini_alter("include_path","c:\\");
                      include "phpinfo.php";
                      ?>

                      mit ini_alter()
                      http://www.php3.de/manual/en/function.ini-alter.php
                      bzw ini_set http://www.php3.de/manual/en/function.ini-set.php

                      kannst Du prinzipiell temporär (locale) die Variable ändern. Wenn man aber
                      ini_alter("include_path",""); keinen Pfad angibt wird eben der Default Pfad angenommen. HAb mir gedacht, wenn man es schafft, daß der Pfad leer ist, dann funzt es, aber es gelingt nicht die Variable zu leeren.

                      Wie auch immer das ganze funktioniert ansich aber nur solange ich kein File über "http://..." include. Es sieht so aus als wäre es mit Win, bei mir WinXP, nicht möglich "http://" zu includen.

                      Dasselbe bei
                      include_once()
                      require()
                      require_once()


                      Es scheint logisch zu sein, daß das was ihr probiert habt nicht funzt:
                      $cachepath = "C:\Programme\Apache Group\Apache\htdocs\v0.001_simplePROJEKT\localhost\init.php?settings=".$settings;

                      ... denn dieses File kann php wirklich im Filesystem nicht finden, ein File mit diesem Namen gibt es nicht ..?settings...

                      Aber vielleicht hat das ganze nix mit dem include_path zu tun, sondern mit einer anderen Einstellung, denn wenn man ein http://-File includet müßte PHP das include_path voll egal sein.

                      Bei den Bugs auf php.net in ich nicht fündig geworden. Vielleicht finde ich noch was.

                      Kommentar


                      • #12
                        Ich habs !!!

                        Note: The Windows versions of PHP earlier than PHP 4.3 did not support remote file accessing for the following functions: include(), include_once(), require(), require_once(), and the imagecreatefromXXX functions in the Reference XLI, Image functions extension.

                        -> http://www.php3.de/manual/en/features.remote-files.php

                        Kommentar


                        • #13
                          1000 Dank @hand.

                          Dann muss ich mein Cache Modul eben auf meinem Webserver schreiben und testen.

                          Tja, wird Zeit dass ich meinen CD-Rom Brenner bekomme, meine Daten sichere und meine alte P1 166 Kiste mit Linux bespiele ;-))

                          CU bei den naechsten Fragen.

                          Kommentar

                          Lädt...
                          X