2017-08-03 1 views
1

Ich habe versucht, meine Joomla 1.x Website mit PHP 5.6 und bekam die folgenden Fehler auszuführen:Joomla 1.5.x Website arbeitet mit PHP 5.3, funktioniert aber nicht mit PHP 5.6

Strict Standards: Declaration of KHttpUri::set() should be compatible with KObject::set($property, $value = NULL) in /home/beauty/www/libraries/koowa/http/uri.php on line 0 Strict Standards: Declaration of KHttpUri::get() should be compatible with KObject::get($property = NULL, $default = NULL) in /home/beauty/www/libraries/koowa/http/uri.php on line 0 Strict Standards: Non-static method JLoader::register() should not be called statically in /home/beauty/www/libraries/joomla/cache/cache.php on line 19 Strict Standards: Declaration of JCacheStorage::get() should be compatible with JObject::get($property, $default = NULL) in /home/beauty/www/libraries/joomla/cache/storage.php on line 0 Strict Standards: Non-static method JLoader::register() should not be called statically in /home/beauty/www/libraries/joomla/document/document.php on line 19 Strict Standards: Non-static method JLoader::import() should not be called statically in /home/beauty/www/libraries/loader.php on line 186 Strict Standards: Non-static method JLoader::import() should not be called statically in /home/beauty/www/libraries/loader.php on line 186 Fatal error: Call-time pass-by-reference has been removed in /home/beauty/www/plugins/content/listitems.php on line 95

Die Website hat gut funktioniert, bevor sie mit PHP 5.3 (auf Ubuntu 12.X LTS), also ist das wohl etwas mit der Kompatibilität von PHP 5.3/5.6 zu tun.

Weiß jemand, was ist das? Auf welche PHP-Erweiterung kann sich das beziehen?

+0

hast du auch die php.ini-datei geändert? - Deaktivieren Sie strenge Standards? –

+0

Ich habe php.ini nicht geändert, aber ich habe "error_reporting = E_ALL & ~ E_DEPRECATED & ~ E_STRICT" – Koban

+0

aber in PHP 5.3 habe ich 'error_reporting = E_ALL & ~ E_DEPRECATED' und meine Website funktioniert gut damit. Wahrscheinlich sind die beiden Einstellungen in PHP 5.3 und 5.6 gleichwertig, da E_ALL Änderungen in PHP 5.6 waren. – Koban

Antwort

0

Es ist sinnlos, an einer so alten Joomla-Version herumzubasteln und sie mit einem PHP 5.6 laufen zu lassen. Joomla 1.5.x ist nicht kompatibel mit PHP 5.4 noch mit 5.6; Es ist alt, aber immer noch verfügbar: docs.joomla.org/Joomla_1.5_won't_work_on_PHP_5.4. Dennoch ist die Bibliothek Koowa nicht Teil von Joomla selbst; Sie könnten die Deklarationen Ihrer Klassen umbenennen, alle Funktionen, die als static (d. h. JLoader :: register()) bezeichnet werden, in eine statische Funktion usw. umbenennen. Aber Sie arbeiten immer noch mit unsicheren alten Bibliotheken/Plugins/Komponenten und der Joomla-Version. Vielleicht haben Sie die Fehlermeldung anderswo (.htaccess) geändert, und Sie sollten sich die http://php.net/manual/en/appendices.php ansehen. Sie sollten Ihre Site besser auf das neueste Joomla3.7.4 und PHP7 migrieren ... Übrigens, die wie in PHP 5.4 Call-time pass-by-reference - Easy fix available? gelöst werden kann, funktioniert der Funktionsaufruf normalerweise ohne das @. Bitte geben Sie auch die genaue Version von Joomla an (in Ihrer Frage bitte), zwischen 1.0 und 1.5 sowie 1.7 sind große Unterschiede!

+0

Joomla-Version ist 1.5.23. Ich habe .htaccess nicht, weil ich Nginx verwende, und E_STRICT ist in php.ini deaktiviert. – Koban

+0

Die Migration zu Joomla 3.7 ist ein zeitverschwendender Prozess, es gibt einige benutzerdefinierte PHP-Code und VirtueMart-Komponente. Wenn es schwer ist, es mit PHP 5.6 zu machen, kann ich einfach PHP 5.3 mit Ubuntu 12.04 im Docker-Container installieren, aber ich bin mir nicht sicher, ob es eine gute Idee ist. – Koban

+0

Es ist alt, aber immer noch verfügbar: https://docs.joomla.org/Joomla_1.5_won't_work_on_PHP_5.4. Der Migrationsprozess von 1.5 auf die neueste Version ist wirklich eine harte Arbeit, besonders mit benutzerdefiniertem Code und Virtuemart. Aber wenn Sie mit einer solchen Seite online gehen wollen, ist es ein Muss, Joomla (aus Sicherheitsgründen) zu migrieren. –

-1

Dies sind nur strenge und standardmäßige Warnungen, so dass Sie das globale Config-Parameter-Debug auf keine setzen können und alle Warnungen werden weg sein.

Besser wäre es, den Code zu überprüfen und manuell für die Handhabung von PHP 5.6 zu reparieren - kein Entwickler wird Ihnen mehr Unterstützung für Joomla! V1.5 geben, also müssen Sie es selbst reparieren.

+0

Bitte lesen Sie die gesamte Aufgabe (vor 2 Tagen), gibt es eine _Fatal _ _error_: Call-Time-Pass-by-Referenz wurde in/home/beauty/www/plugins/content/listitems.php in Zeile 95 entfernt. Joomla 1.5 ist nicht php 5.4 kompatibel, so ist es mit PHP 5.6 (Link bereits gepostet). –

Verwandte Themen