Xampp lite Offline

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Xampp lite Offline

Postby forumfriedel » 24. May 2010 07:06

hi,
jetzt habe ich mir den Xampplite herunter geladen, weil ich von .htm auf .php umsteigen muß.
Muß.......nur!!!! wegen dem include Befehl zum einbinden meiner Menüleiste, da ich keine Lust mehr habe jedesmal zich Seiten abzuändern, wenn ich einen Menüpunkt hinzufügen/ändern möchte.

http://www.michaelfriedel.de ( diese Seiten sind noch alle in .htm)

Die Test-Seiten habe ich Online über meinen PC auch schon hochgeladen und getestet.....funktioniert.
http://www.michaelfriedel.de/ablage/index.php
(index.php, menu.htm ( welche in der index.php mit dem include ja aufgerufen wird ) und die format.css )

Offline auf meinem Lappy ( c:/xampp/htdoc/testphp/ ) funktioniert es aber nicht.
Der IE zeigt die Seite nur als Quellcode an.
Der Firefox öffnet schonmal die Seite wie sie optisch Aussehen soll ( also nicht wie der IE nur als Quelltext), nur es fehlt oben die Menüleiste.

Das ich auf meinem PC Firefox 3.x und auf meinem Lappy 2.0.0.9 habe, daran kann es nicht liegen?

Und was ich bemerkt habe. Wenn ich mir Online den Quelltext anzeigen laß, steht ab da wo eigentlich nur <? include ("menu.htm"); ?> stehen soll, der komplette Menüquelltext aus der ausgelagerten menu.htm
forumfriedel
 
Posts: 6
Joined: 24. May 2010 06:48

Re: Xampp lite Offline

Postby Altrea » 24. May 2010 09:53

Stichwort short_open_tag.
Mit der Suchfunktion wirst du zu diesem Stichwort mehrere dutzend Beiträge finden.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8294
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Xampp lite Offline

Postby forumfriedel » 24. May 2010 12:12

Das geht mir irgendwie zu sehr ins Eingemachte.
Ich habe in der php.ini den Eintrag gefunden. Der steht auf on. Die beiden Untereinträge auf off. Hab ich mit on überschrieben..........nichts.

Wie gesagt, Online klappt alles......nur Offline nicht.

Und das ganze NUR wegen dem include Befehl.
Mir wurde mehrmals gesagt.....zieh dir Xampp und der Umstieg von htm auf php klappt.
forumfriedel
 
Posts: 6
Joined: 24. May 2010 06:48

Re: Xampp lite Offline

Postby Altrea » 24. May 2010 12:37

Immer langsam mit den jungen Pferden ;)

short_open_tags sind eine Einstellung von PHP, die seit der PHP Version 5.3 standardmäßig auf "Off" steht. Der Grund dafür ist eine verbesserte Kompatibilität zu XML.
Auch die PHP-Entwicklung steht nicht still, und so kommt es schonmal dazu, dass sich Einstellungen oder deren Standardeinstellungen ändern.

Der Grund, warum manche PHP-Scripte online laufen, offline aber nicht auf anhieb, liegt in den unterschiedlichen PHP-Versionen die die unterschiedlichen Hoster einsetzen. Zum einen ist dies meist noch eine PHP-Version aus dem 5.2er Zweig, zum anderen sind die Hoster darauf bedacht eine möglichst große Anzahl aller Scripte ohne Probleme lauffähig zu haben und setzen deshalb Konfigurationen ein die darauf ausgerichtet sind.
Das soll aber zum Beleuchten der Hintergründe erstmal genügen :).

Vor kleinen Änderungen in den Konfigurationen braucht man nicht zurückschrecken, solange man sich informiert welche Auswirkungen diese Einstellung haben kann.
short_open_tag ist eine sehr unkritische Einstellung. Diese Einstellung zu aktivieren hat keinerlei Sicherheitsauswirkungen zur Folge. Wenn du keine XML-Syntax verwendest, kannst du diese Einstellung sogar ohne Bedenken aktivieren.

In der php.ini gibt es aber nur eine Zeile mit dieser Einstellung. Die anderen beiden sind durch ein #-Zeichen auskommentiert. Auskommentierte Zeilen sind meist Beispiele oder Erläuterungen zu den einzelnen Einstellungen.
Beachten musst du auch, dass nach Änderungen an der php.ini ein Neustart des Apache erfolgen muss, damit die Einstellung übernommen wird.

Sollte auch dies dein Problem nicht lösen, forschen wir weiter, woran es sonst noch liegen könnte.

btw.: Wenn du dich nicht abhängig von der short_open_tag Einstellung machen möchtest, kannst du auch einfach die vollständige Version verwenden, also:
statt <? verwendest du einfach <?php
statt <?= verwendest du einfach <?php echo
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8294
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Xampp lite Offline

Postby forumfriedel » 24. May 2010 14:46

Danke erstmal für Deine Hilfe !!

Original in der c:/xampplite/php/php.ini steht da (ziehmlich oben):

; short_open_tag
; Default Value: On
; Development Value: Off
; Production Value: Off

....die beiden Off habe ich auf On gesetzt und den Xampp Control Panel gestartet.
Apache und MySql gestartet......Firefox geöffnet........Datei/Datei öffnen.........
meine in C:/xampplite/htdocs/testphp/index.php liegende angeklickt und geöffnet.

Firefox zeigt die Seite so an wie sie aussehen soll,
bis auf die oben horizontal liegende Menüleiste.

Dann habe ich meine index.php mit dem Editor geöffnet und den Eintrag
<? include ("menu.txt"); ?) durch <?php include ("menu.txt"); ?) ersetzt und abgespeichert.
Bei Firefox neu laden geklickt und................nichts hat sich geändert.

Auch habe ich mal die " durch ' ersetzt..........nichts hat sich geändert.

Hmmmmmmm was nun?

Das ich auf meinem Lappy noch Firefox 2.0.0.9 habe, auf meinem PC aber 3.5...daran kann es nicht liegen?
forumfriedel
 
Posts: 6
Joined: 24. May 2010 06:48

Re: Xampp lite Offline

Postby Altrea » 24. May 2010 16:14

forumfriedel wrote:; short_open_tag
; Default Value: On
; Development Value: Off
; Production Value: Off

Oh klar. Sorry, mein Fehler.
In ini-Dateien gilt selbstverständlich das ; als Kommentareinleitung, nicht die #.
Die Zeilen die mit ; anfangen zu ändern bringt also absolut garnichts.
Aber da müsste es noch eine Zeile geben.

Bei mir ist das Zeile 226 in der php.ini:
Code: Select all
short_open_tag = Off

Da musst du Off in On ändern-

forumfriedel wrote:Dann habe ich meine index.php mit dem Editor geöffnet und den Eintrag
<? include ("menu.txt"); ?) durch <?php include ("menu.txt"); ?) ersetzt und abgespeichert.

Wenn du da wirklich ?) stehen hast, wäre das nicht korrekt. Der PHP-Endtag hat eine schließende spitze Klammer am Ende.

Was du auch versuchen könntest, das include ohne Klammern zu schreiben.
also in deinem Fall:
Code: Select all
<?php include 'menu.txt'; ?>



P.S.: Es ist auch sehr ungewöhnlich .txt Dateien zu includen. In der Regel nimmt man hierfür .php, .html, oder .inc(.php) zum Benennen.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8294
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Xampp lite Offline

Postby forumfriedel » 24. May 2010 17:27

ne ne....hab mich vorhin hier vertippt :oops: .
Da steht schon <? include ("menu.txt"); ?>

So, hab jetzt auf On gestellt und alles nochmal ausprobiert :twisted: .
Mit ?php ......mit ' anstatt " .......auch die Klammern weggelassen ..........umbenannt in menü.php und und und..........

Aber nichts hat sich verändert.

Also ich bin schon lange mit meinem Latain am Ende.
forumfriedel
 
Posts: 6
Joined: 24. May 2010 06:48

Re: Xampp lite Offline

Postby Altrea » 24. May 2010 18:12

Dann frage ich mal andersherum:

Wie öffnest du die index.php Datei bei dir lokal?
Was steht dann in der Adresszeile deines Browsers?
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8294
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Xampp lite Offline

Postby forumfriedel » 25. May 2010 14:05

Jaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa :oops: :oops: :oops:
...da war der Fehler.......Die Adresse !!!!!

Wenn ich auf Datei öffnen und dann meine Datei auswähle, dann steht ja in der Leiste C:/Xampplite/htdocs/........
In der Schnellinstallations-Anleitung steht ja in Schritt 4 "Öffne deinen Browser und gebe http://localhost/" ein.
Hab zuerst mal mit dieser Adresse gespielt..............und als ich http://localhost/testphp/index.php eingegeben habe
.......was ist passiert............meine php Homepage erschien mit :lol: :lol: Menüleiste.

Also lag der Fehler in meiner Unwissenheit ( Blödheit ) ..........SORRY

Den "short_open_tag" lasse ich jetzt aber trotzdem mal auf On. Wenn ich langeweile habe werde ich ihn mal wieder auf Off setzen, um zu sehen ob es auch daran lag

Ich DANK Dir 10000000000mal für Deine nette Unterstützung.

Aber zwei Fragen hab ich noch: ( ich muß immer alles Wissen :P )

Die Befehlszeile <? include ("menu.txt"); ?> habe ich jetzt so gelassen. Sie Funktioniert hochgeladen Online sowohl auch Offline von meiner Festplatte.
Jetzt habe ich aber gelesen und Du hattest auch geschrieben das <?php include ("menu.txt"); ?> oder ohne runde Klammern oder ' anstatt " auch geht........was denn nun?

Und meine ausgelagerte Menüdatei................es soll vollig egal sein, ob sie die Endung .txt / .htm. / .php / .xxx oder ......... hat !!?? Sie darf lediglich NUR HTML Code beinhalten.

.........Hab gerade noch mal schnell was ausprobiert. Also Endung .txt geht Offline und auch ' oder " ist funktioniert.

DANKE
forumfriedel
 
Posts: 6
Joined: 24. May 2010 06:48

Re: Xampp lite Offline

Postby Altrea » 25. May 2010 15:37

forumfriedel wrote:Also lag der Fehler in meiner Unwissenheit ( Blödheit ) ..........SORRY

Hehe, mach dir nichts draus. Das ist ein häufiger Fehler von HTML zu PHP Umsteigern, bzw. bei Hobby-Entwicklern, die zum ersten Mal lokal eine Testumgebung aufbauen. Man muss sich einfach damit vertraut machen, dass PHP eine serverseitige Programmiersprache ist und deshalb alles über das http-protokoll laufen muss, damit der Server überhaupt in Aktion tritt.

forumfriedel wrote:Den "short_open_tag" lasse ich jetzt aber trotzdem mal auf On. Wenn ich langeweile habe werde ich ihn mal wieder auf Off setzen, um zu sehen ob es auch daran lag

Sofern du <? statt <?php einsetzt, wirst du definitiv mit short_open_tag = Off Probleme haben. Falls du keine Langeweile findest, ist es dennoch keine schlechte Idee, sich damit mal auseinanderzusetzen. Am meisten lernt man eben immernoch, wenn man bestimmte Fehlerkonstellationen einmal selbst erlebt. Wenn es dann irgendwann wieder auftritt weißt du sofort "Hab ich schonmal gesehen, da kann ich ansetzen" (oder zumindest wo du nach suchen musst ;))

forumfriedel wrote:Die Befehlszeile <? include ("menu.txt"); ?> habe ich jetzt so gelassen. Sie Funktioniert hochgeladen Online sowohl auch Offline von meiner Festplatte.
Jetzt habe ich aber gelesen und Du hattest auch geschrieben das <?php include ("menu.txt"); ?> oder ohne runde Klammern oder ' anstatt " auch geht........was denn nun?


Die PHP-Dokumentation würde hierzu sagen
include ist ein spezielles Sprachkonstrukt, keine Funktion

Die Verwendung mit Klammern sollte aber auch funktionieren. Ich halte mich bei sowas an die Beispiele auf php.net

Einfache Anführungszeichen ' oder doppelte Anführungszeichen "... das ist teilweise Geschmackssache. Beachte aber, dass Zeichenketten in doppelten Anführungszeichen geparst werden. Stehen dort also Variablen drin werden sie durch ihre jeweiligen Werte ersetzt, während bei einfachen Anführungszeichen dies nicht der Fall ist. Deshalb noch ein guter Tipp: Setze doppelte Anführungszeichen nur dort ein, wo es notwendig und sinnvoll ist.

forumfriedel wrote:Und meine ausgelagerte Menüdatei................es soll vollig egal sein, ob sie die Endung .txt / .htm. / .php / .xxx oder ......... hat !!?? Sie darf lediglich NUR HTML Code beinhalten.

Wenn sie wirklich nur HTML enthält, ist es wirklich egal. Eine selbstsprechende Namensgebung kann dir später aber mal das Leben sehr erleichtern. Deshalb ist es nie verkehrt sich von vorn herein, auch bei kleinen Projekten, eine einheitliche Namensgebung zu überlegen.
Spätestens, wenn deine includierte Datei doch eine Zeile PHP enthalten soll, ist die Endung nichtmehr egal, dann sollte sie Zwingend ein .php am Ende haben, um zu gewährleisten, dass sie nicht durch einen direkten URL-aufruf als Klartext an den Anwender übertragen zu werden, sondern vorher durch den PHP-parser gejagt werden.
Ich habe mir angewöhnt, includierten html-Seiten die Endung .inc.html und includierten php Seiten .inc.php zu verpassen. So wird auch direkt klar, dass diese Seiten nicht direkt aufgerufen werden sollen sondern includiert werden.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8294
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Xampp lite Offline

Postby forumfriedel » 25. May 2010 17:35

Hab mal den include-Befehl gegoogelt.
Die Schreibweise <? include ("datei"); ?> kommt zwar oft vor, <?php include ('datei'); ?> aber öfter.
Also hat die Schreibweise <?php include ('datei'); ?> "gewonnen" :lol:

Mit der Endung .php für meine ausgelagerte htm Menüdatei werde ich mich anfreunden. Vielleicht stoße ich ja noch auf das ein oder andere in der PHP Welt das sich für ein Hobby-Entwickler als nützlich erweist.
Bis Dato jedenfalls wiegesagt muß ich auf php nur umsteigen, wegen dem Include Befehl zum auslagern meiner Menüleiste, damit ich nicht jedesmal das Menü auf >40 Seiten abändern muß.

In knapp 2 Wochen ist erstmal eine Woche Dänemark zum chillen angesagt. Dort werde ich dann meine HP auf php umstellen. :wink:

Nochmals recht vielen Dank
forumfriedel
 
Posts: 6
Joined: 24. May 2010 06:48


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 4 guests