Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) Probleme, Apache mit PHP oder MySQL zum Laufen zu bringen? Anpassung an .htaccess, httpd.conf oder php.ini funktionieren nicht? In diesem Forum könnt ihr eure Erfahrungen austauschen. |
 |
|

08-03-2014, 22:55
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
War nur ein Schuss ins Blaue …
Was du noch machen könntest, wäre per phpinfo() mal schauen, ob irgenwelche Cache-Erweiterungen wie APC oder sowas laufen, bzw. in der Dokumentation des Hosters nachschauen.
Oder auch einfach mal beim Hoster nachfragen …
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

08-03-2014, 23:31
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 3.296
|
|
Zitat:
ob irgenwelche Cache-Erweiterungen wie APC oder sowas laufen,
|
Ja, das sehe ich auch....
Mein Tipp:
Erstelle keine PHP Datei mit den Daten, sondern eine CSV, oder nutze eine DB. Ich befürchte auch, dass dir da ein PHP Optimizer mit Bytecodecache einen Streich spielt.
|

09-03-2014, 00:12
|
Wasser_Wanderer
Registrierter Benutzer
|
|
Registriert seit: Aug 2011
Beiträge: 225
|
|
ich habe gerade beide PHP-Info überprüft und folgenden Unterschied gefunden bei opcache.enable:
lima-city: on
php-friends: off
Meint ihr das?
Da das Script, was ich zum testen für euch bereitgestellt habe, nur als Beispiel diente, müsste ich alles was ich wirklich am produktiv laufen habe, komplett umschreiben auf DB/CSV
Edit:
Hab das mal auf CSV-Umgestellt die result.php, und siehe da: Keine Zeitverzögerung mehr.
Aber das kann es doch nicht sein.
@combie:
Ist mein Code immer noch der eindeutig Schuldige, so wie du es ja tituliert hast? Oder hast du jetzt die Badehose an
Geändert von Wasser_Wanderer (09-03-2014 um 00:50 Uhr)
|

09-03-2014, 04:58
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.875
|
|
Zitat:
Zitat von Wasser_Wanderer
Ist mein Code immer noch der eindeutig Schuldige, so wie du es ja tituliert hast?
|
Indirekt ja. PHP-Dateien als Datenspeicher zu missbrauchen ist einfach nur Gaga. Wie kommt man auf so eine Idee?
Mal davon abgesehen, dass du den Kontextwechsel nicht beachtet hats. Also im einfachsten Fall wird deine Anwendung dadurch fehlerhaft. Im schlimmsten Fall nutzt jemand diese Lücke um Zugang zum Server zu bekommen.
Geändert von h3ll (09-03-2014 um 05:06 Uhr)
|

09-03-2014, 05:08
|
Wasser_Wanderer
Registrierter Benutzer
|
|
Registriert seit: Aug 2011
Beiträge: 225
|
|
Zitat:
Zitat von h3ll
Indirekt ja. PHP-Dateien als Datenspeicher zu missbrauchen ist einfach nur Gaga. Wie kommt man auf so eine Idee?
|
Wie ich auf so eine Idee kam?
1. Wusste ich es vor 4 Jahren nicht besser
2. Hat ja bisher immer funktioniert
3. Lerne ich ich noch MySql
4. Nun muss ich wieder umdenken und MySql_i lernen
5. .... to be continued 
Aber Danke das ihr euch mit diesem Thread befasst habt, aber ich weis leider immer noch nicht GENAU die Ursache bei der serverseitigen Konfiguration liegt.
War es das was ich im letzten Beitrag in der PHP-Info gefunden hatte?
P.S.
Klar war da eine Sicherheitslücke drin (ist geschlossen). Es ging doch ursprünglich um die Responce-Zeit.
Nicht mehr und nicht weniger.
Ich nehm das Bsp sowieso wieder vom Server. Getestet habt ihr ja dankensweise.
Geändert von Wasser_Wanderer (09-03-2014 um 05:12 Uhr)
|

09-03-2014, 05:22
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.875
|
|
Zitat:
Zitat von Wasser_Wanderer
1. Wusste ich es vor 4 Jahren nicht besser
|
Ok.
Zitat:
Zitat von Wasser_Wanderer
2. Hat ja bisher immer funktioniert
|
Ganz schlechtes Argument. Nur weil etwas funktioniert, heißt es nicht, dass es so richtig ist.
Zitat:
Zitat von Wasser_Wanderer
3. Lerne ich ich noch MySql
|
Seit 4 Jahren?
Zitat:
Zitat von Wasser_Wanderer
4. Nun muss ich wieder umdenken und MySql_i lernen
|
Warum hast du überhaupt mit dem veralteten mysql angefangen?
Zitat:
Zitat von Wasser_Wanderer
5. .... to be continued 
Aber Danke das ihr euch mit diesem Thread befasst habt, aber ich weis leider immer noch nicht GENAU die Ursache bei der serverseitigen Konfiguration liegt.
|
Wie bereits angesprochen ist es wohl irgendein Code-Optimizer. Vermutlich einer von denen:
List of PHP accelerators - Wikipedia, the free encyclopedia
Genaueres wirst du erfahren, wenn du mit dem Serveradministrator sprichst.
Zitat:
Zitat von Wasser_Wanderer
War es das was ich im letzten Beitrag in der PHP-Info gefunden hatte?
|
Das schaut danach aus:
PHP: Introduction - Manual
Aber ich würde jetzt nicht die Schuld beim Server suchen. Wie gesagt, PHP-Dateien sind normalerweise statisch, also sie verändern sich nicht. Das System rechnet also nicht mit sowas, sondern vertraut darauf, dass du keine PHP-Dateien im laufenden Betrieb modifizierst.
|

09-03-2014, 08:26
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 3.296
|
|
Zitat:
Zitat von Wasser_Wanderer
@combie:
Ist mein Code immer noch der eindeutig Schuldige, so wie du es ja tituliert hast? Oder hast du jetzt die Badehose an 
|
Naja....
Eigentlich ja, dein Code... wie Mr h3ll schon erklärt hat.
Was wir, und auch du, jetzt gelernt haben sollten ist:
Ohne publizieren des falsch laufenden Codes geht nix.
Auch die Links waren SEHR hilfreich. Deine anfängliche Geheimhaltungsstrategie war wenig Ziel führend. Und die Ansage, dass es nichts mit deinem Code zu tun hat, hat sich als falsch erwiesen.
Ohne die Information, dass du PHP Dateien dynamisch modifizierst, wären wir da vermutlich nie drauf gekommen.
Mit meiner ersten Vermutung lag ich nicht ganz richtig. Dass es ein HTTP Cache ist, das hast du überprüft und es hat sich bewiesen, dass es das nicht ist. Peter hat dann die richtigeren Gedanken gehabt. Mit dem Festplatten Cache lag er auch erst daneben. Aber auch das macht nix. Es ist und war ein Cache Problem. Was anderes konnte es nicht (mehr) sein.
So gehts in Foren.
Information liefern. Diskutieren. Fehler finden.
Das ist OK, finde ich.
Auch wenn ich dabei mal nicht 100% recht habe, bricht mir da kein Zacken aus der Krone.
Zitat:
4. Nun muss ich wieder umdenken und MySql_i lernen
|
Warum nicht gleich PDO
z.B.: Oder spiele mal mit dem "RedBean ORM" (Google gibt Auskunft)
Damit hast du deine Anwendung in 2 Stunden auf DB Betrieb umgebaut, ohne SQL überhaupt gesehen zu haben.
Tipp:
Wenn du nächstes mal auf solche seltsame Bugs stößt, triff keine voreiligen, willkürlichen, Festlegungen, wie:
Das Script kanns nicht sein
Die PHP Version ist Schuld
Solche Annahmen blockieren dich selber und die Helfer.
Geändert von combie (09-03-2014 um 08:41 Uhr)
|

09-03-2014, 13:50
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Zitat:
Zitat von Wasser_Wanderer
Da das Script, was ich zum testen für euch bereitgestellt habe, nur als Beispiel diente, müsste ich alles was ich wirklich am produktiv laufen habe, komplett umschreiben auf DB/CSV
|
Eine recht schnell umsetzbarer Workaround könnte sein, dass du die Dateien, in denen du die Daten speicherst, einfach nicht mehr .php benennst, sondern .irgendwasanderes – solange du sie nur per include/require einbindest, ist es PHP ja egal, welche Endung sie haben. .php wäre ja nur wichtig, wenn sie direkt über den Webserver ausgeliefert werden sollen, damit dieser weiß, dass er sie durch den PHP-Parser schicken muss. Allerdings wird dann auch der enthaltene PHP-Code angezeigt oder zum Download angeboten, wenn jemand die Adresse kennt und eben das macht, sie direkt per HTTP abrufen. Wenn das nicht passieren soll, müsstest du also den direkten Zugriff per HTTP unterbinden, z.B. mittels <FILES> und DENY in einer .htaccess-Datei.
(Bei diesem Vorschlag lasse ich jetzt mal dahin gestellt sein, wie sinnvoll es ist, Daten in PHP-Dateien zu speichern – wie gesagt, als schneller Workaround …)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

09-03-2014, 19:24
|
anihex
Registrierter Benutzer
|
|
Registriert seit: Feb 2014
Beiträge: 28
|
|
Ooooookaaaaaay ...
Ich habe Seite 1 gelesen, dachte mir: "Bastelst mal eben was um die Lösung ein wenig voranzutreiben."
Gedacht, getan.
Jetzt erst sehe ich, dass es eine zweite Seite gibt auf der das Problem behoben wurde.
Ich hoffe es stört niemanden, wenn ich dennoch meinen "Lösungsansatz" poste.
Da die Speicherung in einer Datei vorgenommen wurde, entschied ich mich für eine SQLite Datenbank.
Hier eben der aufgeräumte Quelltext mit Kommentare. Sogar getestet.
Aber ich gebe keine Garantie auf Unhackbarkeit.
PHP-Code:
<?php <?php // Wochentage definieren $Wochentage = array( "So", "Mo", "Di", "Mi", "Do", "Fr", "Sa" );
// SQLite ""Verbindung"" herstellen $PDO = new PDO( "sqlite:daten.sqlite" );
// Tabelle anlegen, sofern noch nicht vorhanden $PDO->query( "CREATE TABLE IF NOT EXISTS results ( ID INTEGER PRIMARY KEY, Player1 VARCHAR(255), Player2 VARCHAR(255), Score1 INTEGER, Score2 INTEGER, Date INTEGER, Weekday INTEGER )" );
// Variablen fuer Fehlermeldungen $Player1Error = false; $Player2Error = false; $Result1Error = false; $Result2Error = false;
// Pruefen, ob das Formular abgeschickt wurde if ( strtoupper( $_SERVER[ "REQUEST_METHOD" ] ) === "POST" ) { // Wichtige Daten holen $Player1 = filter_input( INPUT_POST , "sp_1" , FILTER_SANITIZE_STRING ); $Player2 = filter_input( INPUT_POST , "sp_2" , FILTER_SANITIZE_STRING ); $Result1 = filter_input( INPUT_POST , "erg_1", FILTER_VALIDATE_INT ); $Result2 = filter_input( INPUT_POST , "erg_2", FILTER_VALIDATE_INT ); $AllOkay = true;
// Daten pruefen if ( (!$Player1) || ($Player1 === NULL ) ) { $Player1Error = true; $AllOkay = false; } if ( (!$Player2) || ($Player2 === NULL ) ) { $Player2Error = true; $AllOkay = false; } if ( (!$Result1) || ($Result1 === NULL ) ) { $Result1Error = true; $AllOkay = false; } if ( (!$Result2) || ($Result2 === NULL ) ) { $Result2Error = true; $AllOkay = false; }
// Ggeen SQL-Injections $Player1 = addslashes( $Player1 ); $Player2 = addslashes( $Player2 ); $Result1 = addslashes( $Result1 ); $Result2 = addslashes( $Result2 );
// Daten in die Datenbank schreiben, sofern keine Fehler aufgetreten sind. if ( $AllOkay ) { $PDO->query( "INSERT INTO results ( Player1, Player2, Score1, Score2, Date, Weekday ) VALUES ('".$Player1."', '".$Player2."', '".$Result1."', '".$Result2."', '".time()."', '".date("w")."' )" ); } }
// Alle Daten aus der Datenbank holen $Statement = $PDO->query( "SELECT * FROM results" ); $AllResults = $Statement->fetchAll(); ?> <!doctype> <html> <head> <title>Test</title> <link rel="stylesheet" type="text/css" href="../styles.css"> </head> <body onload="document.Form.name.focus()" style="text-align: center;"> <h1>Ergebnisse</h1>
<h3>Neuen Eintrag hinzufügen</h3> <form name="Form" method="POST"> <?php if ( $Player1Error ) { echo "<strong>Spieler 1 ist ungültig</strong><br>"; } if ( $Player2Error ) { echo "<strong>Spieler 2 ist ungültig</strong><br>"; } if ( $Result1Error ) { echo "<strong>Punktestand 1 ist ungültig</strong><br>"; } if ( $Result2Error ) { echo "<strong>Punktestand 2 ist ungültig</strong><br>"; } ?> <table style="margin: 0 auto;"> <tr> <td><input value="Karl" name="sp_1" required="required"> :</td> <td> <input value="Joe" name="sp_2" required="required"></td> </tr> <tr> <td><input name="erg_1" id="name" required="required" type="number"> :</td> <td> <input name="erg_2" required="required" type="number"></td> </tr> <tr> <td colspan="2"> <input type="submit" value="OK" name="OK"> </td> </tr> </table> </form>
<h3>Bisherige Einträge</h3> <p> Anzahl Einträge: <?php echo count( $AllResults ); ?> </p> <table style="margin: 0 auto;"> <tr> <th>Spieler 1</th> <th>Spieler 2</th> <th>Ergebnis</th> <th>Wochentag</th> <th>Datum</th> </tr> <?php foreach ( $AllResults as $Entry ) { ?> <tr> <td><?php echo $Entry["Player1"]; ?></td> <td><?php echo $Entry["Player2"]; ?></td> <td><?php echo $Entry["Score1"]." : ".$Entry["Score2"]; ?></td> <td><?php echo $Wochentage[ $Entry["Weekday"] ]; ?></td> <td><?php echo date("d.m.y, H:i", $Entry["Date"] ); ?></td> </tr> <?php } ?> </table> </body> </html>
Ich hoffe, dass ist nicht zu falsch.
Gruß
Chris
|

10-03-2014, 05:26
|
Wasser_Wanderer
Registrierter Benutzer
|
|
Registriert seit: Aug 2011
Beiträge: 225
|
|
Zitat:
Zitat von h3ll
Wie gesagt, PHP-Dateien sind normalerweise statisch, also sie verändern sich nicht. Das System rechnet also nicht mit sowas, sondern vertraut darauf, dass du keine PHP-Dateien im laufenden Betrieb modifizierst.
|
Das kann ich so nicht nachvollziehen da es ja bei einem anderen Hoster klappt
Sodele meine lieben Diskussionsteilnehmer,
nochmals lieben Dank für euren In- und Output.
Für kleine Projekte schreibe ich die Daten in eine *.irgenwas Datei, damit diese nicht mehr durch den PHP-Parser geht.
Für Größere bzw. wahrscheinlich größer werdene Projekte, werde ich eine DB nehmen.
Nein: Ich lerne nicht seit 4 Jahren MySql, sonder PHP. MySql hab ich vor ca. 7 Monaten mal angeschnuppert und erst mit mysql angefangen und später bemerkt habe das mysql_i nun State of the Art wird.
Warum kein ich kein PDO anwende? Weil ich da nicht durchsteige.
Warum steige ich da nicht durch? Weil mir dazu wohl das logische Denken fehlt. keine Ahnung. Will es nun nicht auf mein Alter schieben.
Meine Projekte sind nur ein Hobby und ausschliesslich privat. Klar muss ich auf Sicherheit achten. Und das mache ich auch so gut ich es eben kann und bin natürlich dankbar für eure Anregungen, die mir helfen besser zu werden.
Nochmals Danke an euch, habe wieder was dazugelernt.
P.S. Der Admin des Hosters hat mir seit 4 Tagen nicht geantwortet.
Klar, ist ja FREE. Daher sind meine Erwartungen in dem Fall auch gering.
|

10-03-2014, 06:52
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 3.296
|
|
Zitat:
Will es nun nicht auf mein Alter schieben.
|
Bin ca 1 Dutzend Jahre älter...
Und dem entsprechend träge...
|

14-03-2014, 03:44
|
Wasser_Wanderer
Registrierter Benutzer
|
|
Registriert seit: Aug 2011
Beiträge: 225
|
|
Zitat:
Zitat von anihex
Ich hoffe es stört niemanden, wenn ich dennoch meinen "Lösungsansatz" poste.
Gruß
Chris
|
Hallöchen Chris,
danke auch an dich, das du dich da reingehängt hast.
Habe deinen Vorschlag getestet und find deine Idee gut.
Vielen Dank
|

25-11-2014, 09:54
|
Lufft
Banned
|
|
Registriert seit: Nov 2014
Beiträge: 8
|
|
Verstehe ich ganz das nicht. Liegt das nicht an der PHP Version? Wenn es ist die Version. Es gibt keine Problem.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
Aktuelle PHP Scripte
Homepagetools 2022
Kostenloses Gästebuch und Homepagetools für die eigene Homepage.
Bei GuxDu kann man sich kostenlos die Websitetools auf die vorhandene Website einbauen. Zudem kann man bei GuxDU auch eine eigene Homepage mit 3D Effekten erstellen. GuxDu ist kostenlos.
29.04.2022
freepler | Kategorie: PHP/ Gaestebuch
|
SF-Shopsystem V1.0
Hier haben wir ein einzigartiges Shopsystem in PHP.
Die Anzahl der Artikel ist unbegrenzt, einfach zu bedienen und erklärt sich.
Ausführliche Beschreibung weiter unten.
28.04.2022
Speedcrawler | Kategorie: PHP/ Shops
|
Anzeigen Markt mit PayPal Bezahl System
Anzeigen Markt Script
mit PayPal Bezahl System
Der Benutzer hat die Möglichkeit sofort nach Bezahlung mit PayPal
seine Anzeigen zu schalten, je nach seinem Guthaben.
27.04.2022
Webace_de | Kategorie: PHP/ Anzeigenmarkt
|
Alle PHP Scripte anzeigen
|