Zurück   WordPress Deutschland Forum > Support > Installation

Antwort
 
Themen-Optionen Ansicht
Alt 15.06.2008, 22:43   #11 (permalink)
WPD-Team
 
Benutzerbild von codestyling
 
Registriert seit: 30.03.2008
Ort: Leipzig
Beiträge: 1.599
Also, soll heißen:
  1. Wenn magic_quotes_runtime = on (providerseitig) und
  2. du ein de_DE.mo laden lässt
dann wird das geschrottet. Erst wenn ich magic_quotes_runtime ausmache, geht dann auch ein Sprachdatei und die Anmeldung wieder korrekt.
Besser formuliert ?
__________________
It's not a bug, it's always a feature. | Code Styling | Plugins
codestyling ist offline   Mit Zitat antworten
Alt 16.06.2008, 00:11   #12 (permalink)
PostRank: 10
 
Benutzerbild von infected
 
Registriert seit: 09.07.2006
Ort: Nettetal
Beiträge: 1.921
Ja, schon besser Hab aber gerade mal nachgesehen: magic_quotes wurde von Seiten meines Providers (all-inkl) auf dem Server deaktiviert. Also kann´s ja eigentlich nicht daran liegen, oder?!
__________________
There are only 10 types of people in the world: those who understand binary and those who don't.
infected ist offline   Mit Zitat antworten
Alt 16.06.2008, 00:23   #13 (permalink)
WPD-Team
 
Benutzerbild von codestyling
 
Registriert seit: 30.03.2008
Ort: Leipzig
Beiträge: 1.599
Nun ja, es gibt mehrere davon:
Code:
; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off
Die mit explizit _runtime am Schluss ist ein Problem mit den *.mo Files.
Zwei Fragen noch:
  1. Sicher, das auch die mit _runtime aus ist ?
  2. Ist die Server Machine 64bit ?
__________________
It's not a bug, it's always a feature. | Code Styling | Plugins
codestyling ist offline   Mit Zitat antworten
Alt 16.06.2008, 01:23   #14 (permalink)
PostRank: 10
 
Benutzerbild von infected
 
Registriert seit: 09.07.2006
Ort: Nettetal
Beiträge: 1.921
zu 1) magic_quotes_gpc Off
magic_quotes_runtime Off
magic_quotes_sybase Off

zu 2) es handelt sich um ein 64Bit AMD-CPU, aber mit einem 32Bit-Suse Betriebssystem
__________________
There are only 10 types of people in the world: those who understand binary and those who don't.
infected ist offline   Mit Zitat antworten
Alt 16.06.2008, 01:43   #15 (permalink)
WPD-Team
 
Benutzerbild von codestyling
 
Registriert seit: 30.03.2008
Ort: Leipzig
Beiträge: 1.599
Das klingt interessant. Es gab einen Patch in der gettext Implementierung, der sich mit der Erkennung von 64Bit Systemen auseinandersetzte. Mal so aus dem Bauch heraus: Wenn PHP meint, es wäre ein 64Bit Machine und deshalb den gettext magic 64bit machen will, obwohl das OS nur 32 Bit ist, dann könnte das in die Hose gehen.
Wenn du Lust auf Probieren hast, würde ich mit im Laufe des Tages mal die Stellen in WP ansehen (ist jetzt zu spät zum Denken) und testhalber dir den einen oder anderen Patch schicken. Wäre das ein Option, um das zu testen ?
__________________
It's not a bug, it's always a feature. | Code Styling | Plugins
codestyling ist offline   Mit Zitat antworten
Alt 16.06.2008, 01:58   #16 (permalink)
PostRank: 10
 
Benutzerbild von infected
 
Registriert seit: 09.07.2006
Ort: Nettetal
Beiträge: 1.921
Können wir gerne mal machen. Das Problem wird nur sein, dass der Fehler halt sporadisch auftritt und man so den Erfolg bzw. Misserfolg nur schwer beobachten kann. Die letzten Tage hatte ich eigentlich wieder Ruhe. Lediglich gestern Mittag kam es wieder häufiger zu diesen Fehlermeldungen, weswegen ich diesen Thread dann auch nochmal bemüht habe.

Ich wünsche dann erstmal angenehme Nachtruhe
__________________
There are only 10 types of people in the world: those who understand binary and those who don't.
infected ist offline   Mit Zitat antworten
Alt 16.06.2008, 02:45   #17 (permalink)
WPD-Team
 
Benutzerbild von codestyling
 
Registriert seit: 30.03.2008
Ort: Leipzig
Beiträge: 1.599
Könnte sich um diesen PHP Bug handeln, der u.a. hier auch aufgetreten ist: #1484880 (Attachments get corrupted on Ubuntu server 64bit 6.06.2 LTS) - RoundCube Webmail - Trac
-> PHP Bugs: #35859: fread limited to 8K

Das *.mo File wird am Stück geladen, wie dieser Auszug aus dem WP Core zeigt:
PHP-Code:
// Preloads entire file in memory first, then creates a StringReader
// over it (it assumes knowledge of StringReader internals)
class CachedFileReader extends StringReader {
  function 
CachedFileReader($filename) {
    if (
file_exists($filename)) {

      
$length=filesize($filename);
      
$fd fopen($filename,'rb');

      if (!
$fd) {
        
$this->error 3// Cannot read file, probably permissions
        
return false;
      }
      
$this->_str fread($fd$length);
      
fclose($fd);

    } else {
      
$this->error 2// File doesn't exist
      
return false;
    }
  }

Laut dem, was man in den Bugbeschreibungen im Netz findet (dazu gibt es eine Menge und auch neueren Datums!), gibt es einen Bug in PHP 5.1.1 (und höher ?) der statt der gesamten File Größe nur die ersten 8192 Bytes liest. Dies würde auch den Fehler erklären, warum dann 0 Bytes übrig sind, für die du eine Warnung bekommts.

Die WP Core Entwickler haben das auch für eine andere Klasse berücksichtigt und sogar kommentiert:
PHP-Code:
class FileReader {
.....
 function 
read($bytes) {
    if (
$bytes) {
      
fseek($this->_fd$this->_pos);

      
// PHP 5.1.1 does not read more than 8192 bytes in one fread()
      // the discussions at PHP Bugs suggest it's the intended behaviour
      
while ($bytes 0) {
        
$chunk  fread($this->_fd$bytes);
        
$data  .= $chunk;
        
$bytes -= strlen($chunk);
      }
      
$this->_pos ftell($this->_fd);

      return 
$data;
    } else return 
'';
  }
.... 
Ich werde mal die Datei patchen und das blockweise Lesen auch in den CachedFileReader einbauen, testen und bereitstellen.
Mal sehen, ob das des Pudels Kern ist.

getesteter Patch
Datei: /wp-includes/streams.php
Zeile: 148 ff.
WP Version: 2.5.1
PHP-Code:
// Preloads entire file in memory first, then creates a StringReader
// over it (it assumes knowledge of StringReader internals)
class CachedFileReader extends StringReader {
  function 
CachedFileReader($filename) {
    if (
file_exists($filename)) {

      
$length=filesize($filename);
      
$fd fopen($filename,'rb');

      if (!
$fd) {
        
$this->error 3// Cannot read file, probably permissions
        
return false;
      }
      
      
// PHP 5.1.1 does not read more than 8192 bytes in one fread()
      // the discussions at PHP Bugs suggest it's the intended behaviour
      // ----- 2008-06-16 potential bug using *.mo Files -------------
      // FIXED: adapted from method read out of FileReader class
      
while ($length 0) {
        
$chunk  fread($fd$length);
        
$this->_str  .= $chunk;
        
$length -= strlen($chunk);
      }
      
      
//dont try in any case full file!   $this->_str = fread($fd, $length);
      
fclose($fd);

    } else {
      
$this->error 2// File doesn't exist
      
return false;
    }
  }

Im Normalfall liest dieser Patch weiterhin das File am Stück, aber in dem Moment, wo das 8192 Bytes Limit Problem erscheint, wird das jetzt blockweise trotzdem komplett gelesen.
__________________
It's not a bug, it's always a feature. | Code Styling | Plugins

Geändert von codestyling (16.06.2008 um 03:08 Uhr).
codestyling ist offline   Mit Zitat antworten
Alt 16.06.2008, 08:05   #18 (permalink)
PostRank: 10
 
Benutzerbild von infected
 
Registriert seit: 09.07.2006
Ort: Nettetal
Beiträge: 1.921
Ich hab den Code mal in meinem Testblog ersetzt. Mal sehen ob´s was bringt. Schonmal Danke für Deine Mühe!
__________________
There are only 10 types of people in the world: those who understand binary and those who don't.
infected ist offline   Mit Zitat antworten
Alt 16.06.2008, 09:56   #19 (permalink)
PostRank: 10
 
Benutzerbild von infected
 
Registriert seit: 09.07.2006
Ort: Nettetal
Beiträge: 1.921
Schade, wäre ja auch zu schön gewesen...

http://img204.imageshack.us/img204/4...ckerrorsl8.png
__________________
There are only 10 types of people in the world: those who understand binary and those who don't.

Geändert von infected (16.06.2008 um 09:59 Uhr).
infected ist offline   Mit Zitat antworten
Alt 16.06.2008, 10:44   #20 (permalink)
WPD-Team
 
Benutzerbild von codestyling
 
Registriert seit: 30.03.2008
Ort: Leipzig
Beiträge: 1.599
Zitat:
Zitat von infected Beitrag anzeigen
Schade, wäre ja auch zu schön gewesen...

http://img204.imageshack.us/img204/4...ckerrorsl8.png
Nach deinem Bild zu urteilen, ist das der schwarze "Kasten" mit dem Speichern/Publizieren Buttons, der nach x Sekunden dann die Autosave Mitteilung reinschreiben will, wenn er zwischengespeichert hat:
Code:
<p class="submit">
<input type="submit" class="button button-highlighted" tabindex="4" value="Speichern" id="save-post" name="save"/>
    <input type="submit" value="Publizieren" accesskey="p" tabindex="5" id="publish" class="button" name="publish"/>
<br class="clear"/>
<span id="autosave">Entwurf gespeichert am 10:36:05.</span>
</p>
Dazu muß Autosave natürlich in die Übersetzung schauen, also das *.mo File aufmachen. Danke für den Hinweis, werd das mal weiter auseinandernehmen, warum er hier wieder mit der Übersetzung scheitert.
Da der Text impliziert, das da noch ein Datum rein müsste (am benutzen und nur Uhrzeit zeigen, ist blöd) kann es entweder ein Übersetzungfehler sein oder ein sprintf Bug an dieser Stelle im Code. Werd mal englisch testen...
__________________
It's not a bug, it's always a feature. | Code Styling | Plugins
codestyling ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 | Impressum | WordPress Agentur | Ein Inpsyde.com Projekt