4images Forum & Community
4images Help / Hilfe => Bug Fixes & Patches => Topic started by: V@no on March 12, 2005, 01:08:22 AM
-
In PHP v5.x some default settings are turned off, which makes 4images not compatible with it.
Here are few changes u should make in order to make it to work with PHP5
1) Open global.php
Find:
if (get_magic_quotes_gpc() == 0) {
Insert above:/*
FIX PHP5
START INSERT
*/
if (!isset($HTTP_GET_VARS)) {
$HTTP_GET_VARS = &$_GET;
$HTTP_POST_VARS = &$_POST;
$HTTP_COOKIE_VARS = &$_COOKIE;
$HTTP_POST_FILES = &$_FILES;
}
/*
FIX PHP5
END INSERT
*/
2) Open includes/upload.php
Find two (2) times:
var $upload_errors = array();
Remove one (1) of them (doesnt metter which one)
P.S. If I or someone else remmember anything else it will be added to this topic ;)
-
In PHP v5.x some default settings are turned off, which makes 4images not compatible with it.
2) Open includes/upload.php
Find two (2) times:
var $upload_errors = array();
Remove one (1) of them (doesnt metter which one)
I do not understand that, that is my upload.php:
var $upload_errors = array();
var $accepted_mime_types = array();
var $accepted_extensions = array();
var $upload_mode = 3;
var $image_type = "";
var $max_width = array();
var $max_height = array();
var $max_size = array();
var $upload_path = array();
var $field_name;
var $file_name;
var $extension;
var $image_size = 0;
var $image_size_ok = 0;
var $lang = array();
var $upload_errors = array();
function Upload() {
global $config, $lang;
$this->max_width['thumb'] = $config['max_thumb_width'];
$this->max_width['media'] = $config['max_image_width'];
$this->max_height['thumb'] = $config['max_thumb_height'];
$this->max_height['media'] = $config['max_image_height'];
$this->max_size['thumb'] = $config['max_thumb_size'] * 1024;
$this->max_size['media'] = $config['max_media_size'] * 1024;
$this->upload_mode = $config['upload_mode'];
$this->lang = $lang;
$this->set_allowed_filetypes();
}
Help, please!
Gruß
michi-w.
-
I'm not quet sure what is it you dont understand...find:
var $upload_errors = array();
there are two lines like this. Remove ONE of them, doesn't metter wich one you chose to delete.
-
Thanks!
-
Hallo
Ich habe alles installiert und die entsprechenden .php gelöscht. Wenn ich aber jetzt meine Anpassungen machen möchte, erscheint im Browser die Datei install.php.
Was muss ich machen, dass ich meine Einstellungen nun anpassen kann.
Vielen Dank für die Hilfe
Markus
-
Falls die Datenbank bereits installiert wurde, muss die install.php natürlich gelöscht werden.
Löschen Sie die Datei "install.php" und alle "update_*_to_*.php" von Ihrem Server.
Zusätzlich können Sie die Dateien im Ordner "data/database/default" und den
Ordner "docs" löschen.
Gruß
michi-w.
-
Hallo!
Ich habe die Änderung gemacht - leider ohne Erfolg.
Hier die Homepage: http://www.harassenlauf.ch
Oder liegt das an was anderem?
M
F
G
Sopur
-
Du musst alle FROM statements welche anschliessen mit einem LEFT JOIN verbunden werden mit runden Klammern umrunden. Das duerfte dann deine Seite kompatibel zu php5 machen :wink: Hoert sich jetzt nach viel Arbeit an, ist es aber mit den enstprechenden Programmen gar nicht. Probiers mal diesem Programm (Find.exe). Gebe den Suchbegriff LEFT JOIN ein und waehle den zu durchsuchenden Ordner (4images). Danach oeffnest du jede Seite aus den Suchergebnissen welche das besagte LEFT JOIN enthalten, und fuegst die Klammern um den FROM Befehl.
Find.exe
http://www.uploading.com/de/files/OJHI91GH/Find.exe.html
Hier ein Beispiel, wie du danach im Code vorgehen musst :
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords
FROM ".IMAGES_TABLE." i, ".CATEGORIES_TABLE." c
LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id)
Fuege die runden Klammern nur um den FROM Befehl hinzu (Musst auch keine Abstaende wie hier im Beispiel verwenden):
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords
FROM ( ".IMAGES_TABLE." i, ".CATEGORIES_TABLE." c )
LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id)
Das wars...glaube ich jedenfalls. Ich meinte das dies jedoch nur fuer den Support mit Mysql5 noetig ist.. versuchs mal...
-
@pda: VIELEN DANK!!!!
Hat tiptop geklappt!!!
M
F
G
Sopur
-
Hello!
My website is not working anymore after a PHP update from version 5.1 to 5.2 :!:
IS 4images not compatible with the newest PHP Version 5.2 :?:
What can i do to fix it???
-
I have same problem with php5 i make patching but if i use russian in image name or description, or i try use russian in comment header and it body i hab\ve no errors, it just load again same page without any changes :(
So it no effect :(
If i use latin chars - all fine...
-
if i comment string
$val = preg_replace($search, $replace, $val);
string in global.php, function clean_array() all works fine!
-
Du musst alle FROM statements welche anschliessen mit einem LEFT JOIN verbunden werden mit runden Klammern umrunden. Das duerfte dann deine Seite kompatibel zu php5 machen :wink: Hoert sich jetzt nach viel Arbeit an, ist es aber mit den enstprechenden Programmen gar nicht. Probiers mal diesem Programm (Find.exe). Gebe den Suchbegriff LEFT JOIN ein und waehle den zu durchsuchenden Ordner (4images). Danach oeffnest du jede Seite aus den Suchergebnissen welche das besagte LEFT JOIN enthalten, und fuegst die Klammern um den FROM Befehl.
Find.exe
http://www.uploading.com/de/files/OJHI91GH/Find.exe.html (http://www.uploading.com/de/files/OJHI91GH/Find.exe.html)
Hier ein Beispiel, wie du danach im Code vorgehen musst :
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords
FROM ".IMAGES_TABLE." i, ".CATEGORIES_TABLE." c
LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id)
Fuege die runden Klammern nur um den FROM Befehl hinzu (Musst auch keine Abstaende wie hier im Beispiel verwenden):
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords
FROM ( ".IMAGES_TABLE." i, ".CATEGORIES_TABLE." c )
LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id)
Das wars...glaube ich jedenfalls. Ich meinte das dies jedoch nur fuer den Support mit Mysql5 noetig ist.. versuchs mal...
Hat irgendjemand dieses Programm noch? der link geht leider nicht mehr
-
Hallo,
muss ich diese Änderungen auch bei der Version 1.7.6 vornehmen?
Grüße, matobi
-
Hallo,
nein musst Du nicht. 1.7.6 ist fit für PHP5.
nobby
-
Hi!
... 1.7.6 ist fit für PHP5.
...
ja.. aber nur wenn register_globals auf "on" steht, standardmässig ist register_globals auf "off"
sorry das ich das hier ausgrabe, aber ich habe meinen server auch testweise mal auf PHP5 gestellt, und hatte das problem.
mfg Andi
-
sorry das ich das hier ausgrabe
Hi Rembrandt,
und schon sind wir wieder um eine Erfahrung reicher :wink: davon lebt ja ein Forum...
nobby
-
ich suchte auch erst eine lösung und bin auf dieses thema gestossen.
nur hier wurde wegen php5 gefragt und in etlichen antworten ging es um MySQL 5.
ich bin ja neugierig wie die neue 4images version ausehen wird, den register_globals wird z.b. in PHP6 das in der warteschlange steht,
nicht mehr vorhanden sein.
-
Nicht nur Du bist Neugierig auf die neue 4images, ich auch.
Aber von PHP6 habe ich noch gar nichts gehört.
edit: Infos zu PHP6
PHP 6
Wechseln zu: Navigation, Suche
PHP 6 wird als Nachfolger von PHP 5 entwickelt. PHP 6 befindet sich noch in einem sehr frühen Entwicklungs- und Diskussionsstadium, daher sind die folgenden Punkte mit Vorsicht zu genießen:
Neuerungen in PHP 6
* PHP wird zwei Modi haben. Der Unicode-Mode wird intern mit Unicode (UTF-16) arbeiten. Zur Ein- und Ausgabe wird auf einen gewünschten Zeichensatz, standardmäßig von/nach UTF-8, konvertiert. Der nicht-Unicode-Mode arbeitet, wie bisher mit "Binär-Strings". Zum Umschalten gibt es die php.ini-Option unicode.semantics.
* es werden allem Anschein nach Namensräume (namespace) eingeführt
* neue Datumsroutinen um auf allen Plattformen mit Zeiten vor 1970 rechnen zu können
* kein register_globals
* kein magic_quote
* kein safe_mode
* ein zuschaltbarer Input-Filter, der System-Administratoren ein zentrales Werkzeug zur Sicherung von Applikationen geben soll
außerdem sind folgende Themen im Gespräch:
* entfernen sämtlicher veralteter Funktion (z. B. mysql_list_tables()) seit PHP 3 und 4 und Aliase
* ein Bytecache soll fest integriert werden, im Gespräch ist hier z. B. PECL/APC
* die benötigten Versionen der eingebundenen Bibliotheken sollen so hoch 'wie möglich' genommen werden unabhängig davon ob PHP auch mit niedrigeren Versionen laufen würde, so hoch 'wie möglich' heißt in diesem Fall die am weitesten verbreitete Versionen in aktuellen Linux-Distributionen
* Unterstützung für 64-bit-Werte (auf 32-bit-Systemen)
* Parameterreihenfolge vereinheitlichen ( $needle und $haystack in diversen str*()-Funktionen )
Und wer eine Testumgebung aufbauen will, wird hier pfündig: http://www.phpjournal.eu/pages/workshops/php-6-testumgebung.php
Und hier das Protokoll: http://www.php.net/~derick/meeting-notes.html
-
Sir v@no :)
var $upload_errors = array();
i have this only (1) once in my upload.php . shall i remove that also :mrgreen: ?