Joomla 1.0.15 und PHP 5.3 - Versuch einer Rettung

Nachdem meine Seite durch die Umstellung auf PHP 5.3 erst einmal unbrauchbar geworden ist, habe ich versucht, die Fehler in Joomla 1.0.15 Schritt für Schritt zu beseitigen. Ohne Anspruch auf Vollständigkeit hier die notwendigen Änderungen in den einzelnen Dateien als “workaround”. Damit funktioniert es zumindest bei mir wieder richtig. Vielleicht hilft es ja dem einen oder anderen weiter.

Die Darstellung ist im Format: Zeilennummer/Originalcode/geänderter Code. Viel Erfolg!

/components/com_content/content.php

154:
function frontpage( $gid, &$access, $pop, $now, $limit, $limitstart ) {
function frontpage( $gid, $access, $pop, $now, $limit, $limitstart ) {

228:
function showSection( $id, $gid, &$access, $now ) {
function showSection( $id, $gid, $access, $now ) {

375:
function showCategory( $id, $gid, &$access, $sectionid, $limit, $selected, $limitstart, $now, $selected, $filter ) {
function showCategory( $id, $gid, $access, $sectionid, $limit, $selected, $limitstart, $now, $selected, $filter ) {

636:
function showBlogSection( $id=0, $gid, &$access, $pop, $now=NULL, $limit, $limitstart ) {
function showBlogSection( $id=0, $gid, $access, $pop, $now=NULL, $limit, $limitstart ) {

742:
function showBlogCategory( $id=0, $gid, &$access, $pop, $now, $limit, $limitstart ) {
function showBlogCategory( $id=0, $gid, $access, $pop, $now, $limit, $limitstart ) {

864:
function showArchiveSection( $id=NULL, $gid, &$access, $pop, $option, $year, $month, $limit, $limitstart ) {
function showArchiveSection( $id=NULL, $gid, $access, $pop, $option, $year, $month, $limit, $limitstart ) {

998:
function showArchiveCategory( $id=0, $gid, &$access, $pop, $option, $year, $month, $module, $limit, $limitstart ) {
function showArchiveCategory( $id=0, $gid, $access, $pop, $option, $year, $month, $module, $limit, $limitstart ) {

1399:
function showItem( $uid, $gid, &$access, $pop, $option=‘com_content’, $now ) {
function showItem( $uid, $gid, $access, $pop, $option=‘com_content’, $now ) {

1500:
function show( $row, $params, $gid, &$access, $pop, $option=‘com_content’, $ItemidCount=NULL ) {
function show( $row, $params, $gid, $access, $pop, $option=‘com_content’, $ItemidCount=NULL ) {

/components/com_content/content.html.php

437:
function show( &$row, &$params, &$access, $page=0 ) {
function show( $row, $params, $access, $page=0 ) {

/includes/vcard.class.php

37-75: diese Zeilen müssen mit /* und */ auskommentiert werden (sind anscheinend doppelt definiert)

Die sache is doch ganz einfach:
Aktuelles Joomla nutzen.

Warum machst du dir arbeit für eine veraltete Software?
Das neue ist sowieso sicherer und bestimmt auch moderner programmiert.

Ich verstehe daher nicht wirklich was dieser “Rettungsversuch” soll.

Das aktuelle Joomla wurde hier bereits genug supportet und sollte sicher funktionieren :wink:

Gruss
Jan

hi,

nun, es benutzen durchaus noch so einige Joomla 1.0, ich werde - soweit Du nichts dagegen hast, auch gerne Deine Modifikationen automatisiert für alle Benutzer übertragen. Danke jedenfalls für die Mühen, ich fand 1.5 schon total stressig ;D

ciao

Hallo,

Jan, ich habe leider nicht die Zeit, meine komplette Seite mal eben “schnell” zu migrieren. Es steckt schon eine Menge Arbeit drin. Wobei ich gestern gezwungenermaßen mal angefangen habe und sagen muss, mit dem com_integrator ist mir schon eine Menge Arbeit abgenommen worden. Vor allem die Bilder sind noch in den Texten! Mit mtw_migrator hat es übrigens nicht funktioniert (hat mich 3x eine Neuinstallation gekostet, sorry für die Serverlast beim Auspacken). Naja, werde immer mal ein bissel an 1.5 arbeiten. Zum Glück geht die originale Seite ja wieder.

Miro, super, dass Du Dich hier auch um die Leute mit antiquierter Software kümmerst. Du kannst die Änderungen natürlich gern nutzen. Vielleicht kann vorher mal jemand mit php-Ahnung einen Blick drüber werfen. Ich habe zwar nur die Referenzierungen entfernt, aber vielleicht habe ich was übersehen.

Viele Grüße,

glyxstern

@glyxstern

Eine meiner Seiten läuft auch noch auf Joomla 1.0.15, und war unbrauchbar geworden. Mit deinem Workaround geht’s wieder. Vielen Dank!!! :slight_smile:

hallo :wink:

ich hab diese änderungen durchgeführt, trotzdem schreibt es die gleiche fehlernachricht…
hat jemand ideen? :neutral_face:

Ist eine Warnung statt ein Fehler, eventuell ausblenden

Herzlichen Dank für die Veröffentlichung dieser Lösung. Sie hat bei mir auch funktioniert und mir viel Arbeit erspart.

Ist es logisch, dass die PHP Prozesse ohne die im 1. Post genannten Änderungen offen bleiben und solche Errors auslösen:

mod_hcgi: pm error: user limits reached!
FastCGI: incomplete headers (0 bytes) received from server "/var/run/hcgi/22123"
mod_hcgi: Could not connect to fcgi server ‘/var/run/hcgi/123456’. connect() failed, no more retries. request failed!, referer:
FastCGI: incomplete headers (0 bytes) received from server “/var/run/hcgi/123456”, referer: …

(Zahl nach hcgi/ anonymisiert)

Ps:

function.php

Die function call muss scheinbar auch geändert werden um mit 5.3 im Reinen zu sein;

function call() { $arguments = func_get_args(); $numargs = func_num_args(); for($i=1; $i < $numargs; $i++){ $arguments[$i] = &$arguments[$i]; } $id = serialize($arguments); // Generate a cache id

hi,

das ist heute sicherlich schwer zu sagen, von der Verwendung älterer Versionen würde ich nun wirklich abraten. Mal abgesehen davon, dass die Fehler wohl woanders auftreten, da Du das Script offenbar nicht auf bplaced ausführst.

ciao

Sicherlich kein schlechter Vorschlag. :smiley:

Mich interessierte v.a. das Fachwissen und die Erfahrungen der Leute die dieses Forum lesen. Zum Beispiel frage ich mich, ob die oben genannten Server seitigen Error-Logs auch von einer Denial of Service Attacke kommen könnte.

Oder würde, wie mein Support mir mitteilt, der ganze Server bei einer solchen Aktion einpacken und nicht erreichbar sein. Kann ein Angreifer nicht auch durch selektives, wiederholtes aufrufen eine Seite dazu bringen, zu kollabieren, konkret eben Joomla 1.0.x. Oder sind offene PHP Prozesse die Ursache, wie findet man die verursachenden Prozesse?

Falls da jemand mehr weiss, interessiert mich brennend.