Anzeige

PHP-Server ohne Statusfenster

PHP-Server ohne Statusfenster | PSD-Tutorials.de

Erstellt von Pyromane, 10.03.2008.

  1. Pyromane

    Pyromane Noch nicht viel geschrieben

    Dabei seit:
    06.12.2007
    Beiträge:
    42
    Geschlecht:
    männlich
    PHP-Server ohne Statusfenster
    Moin,
    ich bin gerade dabei eine Website zu erstellen, die allerdings auch von CD aus starten muss. Da ich aber von PHP so verwöhnt wurde, würde ich diese komfortable Werkzeug schon gerne einsetzen.
    Nun gibt es ja solche PHP-Webserver, welche man ohne installation einfach starten kann. (z.B. XAMPP)
    -> es entstehen 2 Probleme:

    1. Ich möchte die (gegebenenfalls techn. nicht versierten Benutzer nicht mit so einem DOS-Fenster abschrecken, was bei solchen Webservern ja meistens angezeigt wird. Es sollte Per Autostart eine EXE ausgeführt werden, die den Webserver als Localhost startet und gleichzeitig den Standartbrowser mit http://localhost/ startet.

    2. Jeder Anwender hat einen anderrn CD-Laufwerkspfad -> wie bring ich der php.conf bei, dass der Root-Ordner immer woanders liegt?

    vielen Dank für die Antowrten im Vorraus.
     
    #1      
  2. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    PHP-Server ohne Statusfenster
    AW: PHP-Server ohne Statusfenster

    Ich habe auch mal sowas für jemanden gemacht und damals den Uniform Server genutzt. Der hat zwei .bat-Dateien zum Start/Stop, mountet sein www-public auf einem freien Verzeichnis (damit ist die Chance recht hoch, dass der Pfad immer gleich ist) und hat dann auch kein sichtbares Fenster oder so.

    Das einzige mit dem du dich auseinandersetzen werden wirst, und da kommen auch die nicht technikaffinen Leute herum, ist die Firewall des Nutzers. Denn schliesslich wollen Apache / MySQL als Server agieren und die meisten Personal Firewalls schlagen da Alarm.

    Ausserdem musst du sicherstellen, dass (in einem Unternehmensnetzwerk ja nicht unüblich) die Proxyeinstellungen des Users den localhost ignorieren, sonst geht garnix :)

    Meine Startdatei sah damals übrigens so aus:
    Code (Text):
    1.  
    2. set Disk=w
    3.  
    4. : Name: Start Server File
    5. : Created By: The Uniform Server Development Team
    6. : Edited Last By: Olajide Olaolorun (empirex)
    7. : Comment: After start, go to apanel directly.
    8. : To Developers: Implemented %www%, and %apanel% :)
    9.  
    10. @echo off
    11.  
    12. :beginn
    13.  
    14. diskw\home\admin\program\pskill.exe Apache.exe
    15. IF NOT ERRORLEVEL 1 goto started
    16.  
    17.  
    18. subst %Disk%: "diskw"
    19. IF ERRORLEVEL 1 goto hint
    20.  
    21. :browser
    22. set apachepath=\usr\local\apache2\
    23. set apacheit=%Disk%:%apachepath%bin\Apache.exe -f %apachepath%conf\httpd.conf -d %apachepath%.
    24. set programit=%Disk%:\home\admin\program\
    25. set closeit=%programit%close.bat %Disk%
    26.  
    27. %Disk%:
    28. cd \usr\local\php
    29. start \usr\local\mysql\bin\mysqld-opt.exe --defaults-file=/usr/local/mysql/bin/my-small.cnf
    30. CLS
    31. echo The server is working on the disk %Disk%:\ [http/localhost/]
    32. set www=\www\
    33. set apanel=\home\admin\www\
    34. start %www%\redirect.html
    35.  
    36. IF "%3"=="console" goto console
    37. start %programit%uniserv.exe "%apacheit%" "%closeit%"
    38. goto end
    39. :console
    40. %apacheit%
    41. %closeit%
    42. goto end
    43.  
    44. :hint
    45. CLS
    46. echo Das Laufwerk %Disk% wird bereits genutzt. Bitte aendern Sie in Start_Programm auf Zeile 1 den Laufwerksbuchstaben auf einen freien!
    47. goto pause
    48.  
    49. :started
    50. CLS
    51. echo Fehler!
    52. echo Programm wird bereits ausgefuehrt. Bitte rufen Sie http://localhost/ in einem Browser auf, oder beenden Sie Programm und starten Sie es erneut.
    53. goto pause
    54.  
    55. :pause
    56. echo .
    57. pause
    58. :end
    59.  

    Duddle
     
    #2      
  3. fraenzer

    fraenzer Noch nicht viel geschrieben

    Dabei seit:
    06.03.2008
    Beiträge:
    7
    Geschlecht:
    männlich
    PHP-Server ohne Statusfenster
    AW: PHP-Server ohne Statusfenster

    zu 2. es gibt in php einen assioziativen Array namens $_Server, damit kannst Du unter anderem auch dein root-Verzeichnis auslesen:

    //absoluter Pfad zum Basisverzeichnis des Projekts
    define('DOCUMENT_ROOT', $_SERVER['DOCUMENT_ROOT']);

    //Webadresse der Startseite
    define('HTTP_ROOT', "http://".$_SERVER['HTTP_HOST']);

    Evtl. Unterverzeichnisse zu Deinem Projekt sind ja statisch, die könntest Du also noch hinten anfügen. Wenn Du die Zeilen entweder in den Kopf jeder php-Datei schreibst oder eleganter in eine eigene php-Datei, die mit include eingebunden wird, stehen Dir die absoluten Pfade überall zur Verfügung.
     
    #3      
  4. LowkaZ

    LowkaZ Half Life

    Dabei seit:
    19.01.2006
    Beiträge:
    697
    Geschlecht:
    männlich
    Ort:
    Dudweiler
    Software:
    Textmate, WordPress, jQuery, PHP5, MySQL, CSS3, HTML5
    Kameratyp:
    Leica
    PHP-Server ohne Statusfenster
    AW: PHP-Server ohne Statusfenster

    Versuch mal Server2Go,
    kannste auf CD oder USB Stick packen und einfach öffnen, ohne konsole o.ä.
     
    #4      
  5. Pyromane

    Pyromane Noch nicht viel geschrieben

    Dabei seit:
    06.12.2007
    Beiträge:
    42
    Geschlecht:
    männlich
    PHP-Server ohne Statusfenster
    AW: PHP-Server ohne Statusfenster

    ähhm ja ...
    :) mir ist durchaus bewusst, das es diese Variable gibt^^.
    <-- Das problem ist das VERZEICHNIS in dem die php Datein liegen. <- dieses muss dem Server ja mitgeteilt werden <- ergo:
    ich kann die Server Vars ja garnicht nutzen, da ich keine php-Seite zum laufen bekomme, da das PHP ja nicht weiß, wie die CD gemountet ist und dadurch auch den Pfad nicht kenn.

    @Duddle
    <- deine Startdatei benutzt aber Linux-Verzeichnissbäume.
    (/home) z.B.
    das geht doch dann nicht auf Windows Rechnern oder?

    Idee:
    wenn man den Ordner mit den php Datein IN den Ordner mit dem PHP Server reinpackt sollte es doch gehen oder?
    Blos wie sag ich der conf, dass die php Datein im selben Ordner wie der Server liegen?
    "/" ?
    bzw. bei einem neuen Ordner einfach
    "/Neuer_Ordner_mit_PHP_Datein/"?
     
    #5      
  6. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    PHP-Server ohne Statusfenster
    AW: PHP-Server ohne Statusfenster

    Das stehen Back- keine Forward-Slashes. Nur weil die Verzeichnisse ähnlich denen von Linux heißen, muss das keine verheerenden Auswirkungen haben ;)
    Aber da du es ansprichst: ja, das System läuft dann natürlich nicht auf unixoiden Systemen.


    Duddle
     
    #6      
  7. Pyromane

    Pyromane Noch nicht viel geschrieben

    Dabei seit:
    06.12.2007
    Beiträge:
    42
    Geschlecht:
    männlich
    PHP-Server ohne Statusfenster
    AW: PHP-Server ohne Statusfenster

    unixoide ; :p wasn das für ein Name?
    Ja das ist halt auch doof. Wäre es dann mit dem :"Ins selbe Verzeichnis wie der Webserver kopieren" möglich?
     
    #7      
x
×
×