Moin
Das mit der Kodierung ist knifflig und vielleicht auch nicht das Problem.
Wir/Du müssen das aber mit Sicherheit ausschliessen können.
Schau dir mal die index.php im Windows Notepad (Texteditor) an.
Dann bekommst du auch mal den Unterschied zwischen Unix/ANSI
und wie Windows das sieht, mit.
...nicht gerade flüssig lesbar, nicht wahr?
Im Prinzip kann Apache/PHP aber mit so einen Einzeiler schon was anfangen.
Ein BOM kannst du daran erkennen, dass am Anfang der ersten Zeile unlesbarer Code steht.
...deswegen kommen Interpreter damit nicht klar
Was die php.ini angeht.
Such in der mal nach dieser Direktive...
php.ini
Code:
; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It's been
; recommended for several years that you not use the short tag "short cut" and
; instead to use the full <?php and ?> tag combination. With the wide spread use
; of XML and use of these tags by other languages, the server can become easily
; confused and end up parsing the wrong code in the wrong context. But because
; this short cut has been a feature for such a long time, it's currently still
; supported for backwards compatibility, but we recommend you don't use them.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
[COLOR=#ff0000][B]short_open_tag = Off[/B][/COLOR]
; XAMPP for Linux is currently old fashioned
[COLOR=#ff0000][B]short_open_tag = On[/B][/COLOR]
(sieht widersprüchlich aus, aber der zuletzt definierte gilt. Also:
On)
...vielleicht liegt es auch daran.
Am End liegt es also am Skripter (Verantwortung) und seinem Stil wie kompatibel seine Skripte mit "normalen" Systemen sind/laufen.
Also: Strenge Einstellungen erlauben den Shorttag nicht.
Abhilfe: Alle vorkommen von
<? ändern in:
<?PHP oder
<?php
Groß oder klein "sollte" dabei völlig egal sein.
...mit der suchen/ersetzen Funktion ist das ja auch kein Problem.