Hilfetips für Fehlersuche

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

  • #16
    Zitat von AmicaNoctis Beitrag anzeigen
    SAPI-PHP-Skripte werden normalerweise in dem Verzeichnis ausgeführt, wo sie liegen. Relative Pfadangaben beziehen sich demnach auf dieses Verzeichnis.

    CLI-Skripte dagegen starten normalerweise in dem Verzeichnis, wo PHP installiert ist. Am besten arbeitest du immer mit absoluten Pfaden.

    Ab PHP5.3: file_get_contents(__DIR__ . "/relativer/Pfad/wie vorher.ext");
    Vor PHP5.3: file_get_contents(dirname(__FILE__) . "/relativer/Pfad/wie vorher.ext");

    Dann kann nichts mehr schief gehen.
    ahh... das ist doch mal eine info, die mir auch einleuchtet....auch wenn ich erst mal google mußte, was SAPI und CLI genau bedeutet !
    ( @PHP-Desaster: hab deinen Einwand bereits gelesen)

    und der codeschnipsel wird gleich mal im einsatz unter die lupe genommen.. muss nur schnell mal per phpinfo schauen, welche php-version genau drauf ist


    DANKE .. echt klasse !
    Coder never die, they just GOSUB without RETURN

    Mein System

    Kommentar


    • #17
      Zitat von ways Beitrag anzeigen
      auch wenn ich erst mal google mußte, was SAPI und CLI genau bedeutet !
      Ich dachte, es reicht, wenn ich es 1x dazuschreibe
      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
      Super, danke!
      [/COLOR]

      Kommentar


      • #18
        Zitat von AmicaNoctis Beitrag anzeigen
        Klar, sorry. Wie kam ich denn darauf?
        Weiß ich nicht ^^ Aber ist ja grad nochmal gut gegangen.

        Kommentar


        • #19
          OffTopic:

          Hab mich vorsichtshalber auch grad nochmal informiert und gemerkt, dass ich wohl etwas falsch liege. Ich war der Annahme verfallen, dass SAPI (Server Application Programming Interface) für die PHP+Server-Geschichten steht und CLI (Command Line Interface) für die Kommandozeilen-Version. Jetzt habe ich aber überall "CLI SAPI" vs. "CGI SAPI"/"SAPI Module" gelesen. Kann mich evtl. jemand aufklären, warum "CLI SAPI" nicht widersprüchlich ist? Steht SAPI etwa nur für die Engine selbst, egal in welchem Kontext sie läuft? Finde nur ich das verwirrend oder sonst noch jemand?

          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #20
            Ja, jedes PHP hat eine "Server API".
            Und eine davon ist CLI...
            KA, wie die darauf kommen..
            Wir werden alle sterben

            Kommentar


            • #21
              PHP besteht aus 5 Teilen.
              Code:
              +------------------------------------------------------------+
              |                                                            |
              |       +------------------------------------------------+   |
              |       | +----------+ +---------+ +-------+ +---------+ |   |
              |       | | Standard | | Session | | MySQL | | Sockets | |   |
              |       | +----------+ +---------+ +-------+ +---------+ |   |
              |       |                   Extensions                   |   |
              |       +------------------------------------------------+   |
              |   T                                                        |
              |   S   +----------------------+  +----------------------+   |
              |   R   |      PHP Core        |  |     Zend Engine      |   |
              |   M   +----------------------+  +----------------------+   |
              |                                                            |
              |       +------------------------------------------------+   |
              |       |                SAPI (Server API)               |   |
              |       +------------------------------------------------+   |
              |                                                            |
              +------------------------------------------------------------+
              Das SAPI koordiniert den Lifecycle eines PHP-Prozesses (MINIT et al.) und bildet die Schnittstelle zu einem Server (z.B. Apache durch mod_php.so). Und jetzt kommt der Clou: Das CLI ist sozusagen auch nur ein Server! Das heißt /usr/bin/php spricht mit der SAPI genau so wie mod_php.so.

              Die Verwirrung rüht imho aus dem falschen S in SAPI. Ursprünglich war dieses Interface wirklich für Server gedacht. Es hat sich aber als so gut erwiesen, dass man es mehr oder weniger zum allgemeinen Interface machte. Das war in PHP 4.0.2. Hier liegt der Hund begraben. Man hätte es damals in API umtaufen sollen.

              Übrigens gibt es auch noch eine Embed SAPI (--enable-embed). Das ist die selbe API mit ein paar zusätzlichen Macros.


              TSRM = Thread Safe Resource Management
              Zend Engine = Compilation, Execution, Resource Allocation
              PHP Core = Request Management, Low level operations (I/O streams, Netzwerk und Dateien), error handling, startup/shutdown triggering
              Zuletzt geändert von onemorenerd; 28.08.2009, 07:48.

              Kommentar


              • #22
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar

                Lädt...
                X