Odziedziczyliśmy stronę PHP, która działa dobrze na Ubuntu, ale zrzuca kod źródłowy na ekran w systemie Windows 7 z XAMMP używając PHP 5.4, lub WAMP z PHP 5.3 .Strona PHP wyświetla się na ubuntu, a nie na Windows 7
Punkt, w którym pojawia się zrzut, wydaje się być, gdy próbuje przeanalizować kombinację znaków "->" (właściwość obiektu). Kiedy zmienię to na "[]", aby uzyskać dostęp jako element tablicy, przechodzi to obok, ale następnie zrzuca kod źródłowy na wyświetlacz, który pojawia się po kombinacji znaków "=>" (odwzorowanie). Skomentowanie tego nie działa, tylko usunięcie całej linii powoduje przejście do przeszłości.
Wreszcie, gdy jest to drukowanie html ze znakami "<" i ">", to również powoduje zrzut ekranu. Jeśli zamieniam te znaki na encje html, kod źródłowy nie zrzuci więcej, ale program nie wyświetla menu i nie działa wcale. Zauważ, że mogę zalogować się do aplikacji poprzez jej stronę logowania, chociaż nawet to wyświetla "POST" i inne znaki "<" i ">" w polu nazwy użytkownika.
Próbowałem już uruchomić Unix2dos na całej aplikacji, ale to nie miało żadnego efektu. Próbowałem także konwertować tekst jednej z nieczytelnych stron do UTF-8, ale wciąż nie miałem szczęścia.
W odpowiedzi na niektóre z pytań, jakie wersja ubuntu
Działanie to jest PHP Version 5.3.10-1ubuntu3.1
Pierwszy kawałek kodu, który działa w Ubuntu i nie jest to w systemie Windows :
public function __construct($gid)
{
$this->id = $gid;
return $this->retrieve();
}
gdzie wysypisko kod na wyświetlaczu zaczyna:
id = $gid; return $this->retrieve(); }
Tak, PHPInfo działa, pokazując serwer WAMP z PHP w wersji 5.3.13
Próbowałem zmienić tag short-open, ale nie miało to żadnego znaczenia.
Produkt został napisany dla nas przez grupę outsourcingową i wydaje się być oparty na pewnych ramach. Ale nie mogłem znaleźć żadnych odniesień do żadnej z nazw klasowych w Google, więc może napisali to wszystko w domu.
Idąc do dziennika apache, rzeczywisty błąd dzieje się na tej linii:
$_SESSION['admin_gid'] = Membership::getGroup($rUser['id']);
gdzie komunikat o błędzie:
Członkostwo”Nie znaleziono
Członkostwo jest klasa, która jest zadeklarowana później w tym samym pliku, co ta, która jest umieszczana na wyświetlaczu w punkcie pokazanym powyżej, więc z jakiegoś powodu parser PHP nie rozumie, czytanie kodu PHP z tego punktu.
mógłbyś pisać najkrótszy kawałek kodu, który działa na jednej platformie, a nie inne? – Floris
Wygląda na to, że dyrektywa short-open-tag jest wyłączona w Windows http://php.net/manual/en/ini.core.php#ini.short-open-tag –
Czy można uzyskać ' Php phpinfo (); ?> 'do pracy na serwerze sieciowym Win7? – halfer