Hilfetips für Fehlersuche

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by AmicaNoctis View Post
    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

    Comment


    • #17
      Originally posted by ways View Post
      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]

      Comment


      • #18
        Originally posted by AmicaNoctis View Post
        Klar, sorry. Wie kam ich denn darauf?
        Weiß ich nicht ^^ Aber ist ja grad nochmal gut gegangen.

        Comment


        • #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]

          Comment


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

            Comment


            • #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
              Last edited by onemorenerd; 28-08-2009, 06:48.

              Comment


              • #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]

                Comment

                Working...
                X