Dank dem Wechsel von PHP4 auf PHP5 bei meinem für Kunden bevorzugten Hoster musste ich bei einigen Web-Sites folgende Änderungen vornehmen:
UPDATE `smt_content` SET source_de = REPLACE( source_de, 'PHP_SELF', 'ORIG_SCRIPT_NAME' )
Das Problem scheint daher zu rühren, dass PHP5 als CGI ausgeführt wird und einige Werte von $_SERVER nicht oder falsch zu setzen scheint. Mit ORIG_SCRIPT_NAME erhalte ich auf jeden Fall wieder den vom Web-Server ausgesehenen WWW-Pfad zum entsprechenden Script.
ACHTUNG
Natürlich erst, nachdem ich einen Dump der entsprechenden Tabelle gezogen hatte (ein Typo, und flutsch sind alle Seiteninhalte nach /dev/null unterwegs).
Nachtrag
Im Oktober 2007 wurde ein weiterer Wechsel nötig. Neu heisst die gesuchte Variable SCRIPT_NAME:
UPDATE `smt_content` SET source_de = REPLACE( source_de, 'PHP_SELF', 'SCRIPT_NAME' )