Von PHP5->PHP4

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Don83
Beiträge: 57
Registriert: 03.05.2009 18:02:27

Von PHP5->PHP4

Beitrag von Don83 » 03.05.2009 18:09:12

Hallo,
ich habe ein großes Problem. Und zwar....
Mir wurde beordert die Open source software 'care2x' auf einem Hetzner server zu installieren.
Das klappt auch fast. Nur ein kleines(großes) Problem. Die software funktioniert nur bis PHP5.0
Also ab PHP5.0 funktioniert die version nicht mehr.

Also hier ist mal die Fehlermeldung:
PHP Version lower than 5.0.0 is required, you are running 5.2.6-1+lenny2

Ich habe nun schon den ganzen Tag versucht eine Antwort darauf zu finden wie man PHP5.2.6-1+lenny2 auf PHP4 runterstuft. Bisher finde ich keine Antwort bis auf dass PHP4 total veraltet ist und ich nichtmal mehr ordentliche source Pakete für PHP4 finden kann.
Das ganze ist für mich relativ wichtig, also wäre dankbar wenn da jemand eine Idee oder noch besser eine Lösung anbieten kann.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Von PHP5->PHP4

Beitrag von rendegast » 03.05.2009 19:54:31

Was verwendest Du denn? http://www.care2x.org/
care2x_1.d21-1.sarge_all.deb
care2x_d22_full.tar.gz


(testing-squeeze, lighttpd mit fastcgi, php-5.2.6)
Ich hab den Inhalt des d22 nach /var/www/care2x/ kopiert und php5-mysql installiert wegen
FastCGI-stderr: PHP Fatal error: Call to undefined function mysql_connect() in /var/www/care2x/htdocs/classes/adodb/drivers/adodb-mysql.inc.php
-->
Bild

Weil /tmp noch nicht zum open-basedir gehört, kommt dann
Bild

Schalte ich /tmp noch frei, so bekomme ich die admin-Seite:
Bild

Ein MySQL/PostgreSQL-Server läuft nicht, dafür kann das postinst-Skript aus dem deb-Paket benutzt werden?






------------------------------------ EDIT --------------------
Okay, im nächsten Fenster kommt es dann:
PHP Version 4.3.0 or greater is required, you are running 5.2.6-3
PHP Version lower than 5.0.0 is required, you are running 5.2.6-3


------------------------
logs/.../2009/ noch angelegt.
php5-adodb und php5-gd noch dazu, + php-db, aber die bleiben:
PHP Database Extension is not loaded
Cannot create ADODB connection of type

da ja kein db-Server läuft.


-------------------------
Schon mal versucht, es einfach durchzuziehen, in versions.php ?

Code: Alles auswählen

$version->addTest('PHPVersionUnder', array('5.0.0'));
->
$version->addTest('PHPVersionUnder', array('5.3.0'));
-------
Das sieht noch unangenehm aus:

Code: Alles auswählen

    'version' => array('mysql' => '3.23.0', 'postgres7' => '7.4.0')));
postgres-8.3 ? (EDIT: Sind aber nur Angaben für Min-Versionen.)
"Incompatibilies with MySQL 5.0 fixed in the sql queries."
"Works with both MySQL 4+ and PostgreSQL 7.4+."
Zuletzt geändert von rendegast am 04.05.2009 20:20:07, insgesamt 1-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Von PHP5->PHP4

Beitrag von rendegast » 04.05.2009 15:49:49

Hallo,

habe jetzt mal einen mysql aufgesetzt:
PHP Version 4.3.0 or greater is required, you are running 5.2.6-3
PHP Version lower than 5.3.0 is required, you are running 5.2.6-3

PHP Database Extension is not loaded
PHP Extensions calendar, gd found
Cannot create ADODB connection of type
...
Um das zu entfernen:
classes/smarty (2.6.0) und classes/adodb (4.21) gegen die Verzeichnisse in /usr/share/php/ gelinkt.
(Versionen 2.6.22 bzw. 5.07/5.04 (libphp-adodb/php5-adodb))
Dann kann die Installation beendet werden.

EDIT:
Leider ist das adodb-4.21 noch auf care angepaßt, zBsp "care_sessions" in
classes/adodb/adodb-session.php
classes/adodb/session/adodb-session.php

Code: Alles auswählen

        //  Made table name configurable - by David Johnson djohnson@inpro.net
        if (empty($ADODB_SESSION_TBL)){
                $ADODB_SESSION_TBL = 'care_sessions';

Code: Alles auswählen

                // Changed to care_sessions for Care2x session
                //static $_table = 'sessions';
                static $_table = 'care_sessions';
Das braucht dann noch Nacharbeit.



------------------------
Gefundene Versionen:
care2x_d22_full.tar.gz (Latest/Official/ 2G Deployment 2.2 FULL PACK 22060802)
care2x_b225_full.tar.gz (Latest/2G beta 2.2.5 FULL PACK 20070501,
beschädigtes tarArchiv 13,5MB, verwende zipArchiv 16,5MB, Maintainer angeschrieben)
care2x-2.5_RC2.tar.gz (2.6-alpha 20090128)

smarty + adodb sind gleich, in den neueren Paketen hat adodb ein obsoletes zip und kaputte PNG.




-------------------------
Noch mein Rechte-Skript (vielleicht sind aber auch die Versionen nach d22 genügsamer?):

Code: Alles auswählen

#!/bin/sh

CARE2X_DIR=/var/www/care2x/22

do_function() {
$MODI $CARE2X_DIR/cache
$MODI $CARE2X_DIR/cache/barcodes
$MODI $CARE2X_DIR/counter
$MODI $CARE2X_DIR/counter/hitcount.txt
$MODI $CARE2X_DIR/fotos
$MODI $CARE2X_DIR/fotos/encounter
$MODI $CARE2X_DIR/fotos/registration
$MODI $CARE2X_DIR/fotos/news
$MODI $CARE2X_DIR/gui
$MODI $CARE2X_DIR/gui/img
$MODI $CARE2X_DIR/gui/img/logos_dept
$MODI $CARE2X_DIR/gui/smarty_template/templates_c
$MODI $CARE2X_DIR/include
$MODI $CARE2X_DIR/include/inc_init_main.php
$MODI $CARE2X_DIR/installer
$MODI $CARE2X_DIR/installer/install.php

$MODI $CARE2X_DIR/installer/tmp		# in 2.5RC2 (2.6-alpha) 

$MODI $CARE2X_DIR/logs
$MODI $CARE2X_DIR/logs/access
#$MODI $CARE2X_DIR/logs/access/2009
$MODI $CARE2X_DIR/logs/access/$(date +%Y)

$MODI $CARE2X_DIR/logs/access_fail
#$MODI $CARE2X_DIR/logs/access_fail/2009
$MODI $CARE2X_DIR/logs/access_fail/$(date +%Y)

$MODI $CARE2X_DIR/med_depot
$MODI $CARE2X_DIR/med_depot/img
$MODI $CARE2X_DIR/pharma
$MODI $CARE2X_DIR/pharma/img
$MODI $CARE2X_DIR/radiology
$MODI $CARE2X_DIR/radiology/dicom_img
}

# Logverzeichnisse lagen nicht vor:
mkdir -p \
    $CARE2X_DIR/logs/access/$(date +%Y) \
    $CARE2X_DIR/logs/access_fail/$(date +%Y)

chmod -R 0644		$CARE2X_DIR
chown -R 0:0		$CARE2X_DIR
find			$CARE2X_DIR	-type d -exec chmod 755 {} \;

MODI="chmod g+w"
do_function


MOD1() {
    MODI="chown 0:www-data"
    do_function
}

# andere Benutzer ganz ausschliessen (moeglicherweise funktionieren dann einige Zugriffe nicht?)
MOD2() {
    chown -R 0:www-data		$CARE2X_DIR
    chmod -R o-r-w-x		$CARE2X_DIR
}

MOD2

chmod g+w		$CARE2X_DIR
	# Umbenennung von $CARE2X_DIR/create_admin.php (in d22, in b225 gibt es die Datei nicht mehr)



------------------------------------------------------
Datenbank 'care2x': "Table 'care2x.sessions' doesn't exist".
Die Tables werden alle als 'care_...' angelegt, also den Namen der DB vielleicht entsprechend anpassen?

EDIT Hängt mit obigem zusammen:
Leider ist das adodb-4.21 noch auf care angepaßt, zBsp "care_sessions" in
classes/adodb/adodb-session.php
classes/adodb/session/adodb-session.php

Code: Alles auswählen

        //  Made table name configurable - by David Johnson djohnson@inpro.net
        if (empty($ADODB_SESSION_TBL)){
                $ADODB_SESSION_TBL = 'care_sessions';

Code: Alles auswählen

                // Changed to care_sessions for Care2x session
                //static $_table = 'sessions';
                static $_table = 'care_sessions';
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten