Welcome, Guest. Please login or register.
Did you miss your activation email?
May 25, 2012, 09:05:30 PM

Login with username, password and session length
Search:     Advanced search
Wollen Sie dem WebsiteBaker Team beitreten?
Nähere Informationen finden Sie unter hier und auf unserer neuen Webseite.
155527 Posts in 21712 Topics by 7737 Members
Latest Member: chris85
* Home Help Search Login Register
Pages: [1] 2 3   Go Down
Print
Author Topic: PHP 5.3 und WB 2.8 mögen sich nicht  (Read 3148 times)
WebBird
Guest
« on: August 03, 2009, 08:47:40 AM »

Die Installation von WB 2.8 (Trunk 1102) unter PHP 5.3.0 schlägt mit folgender Fehlermeldung fehl:

Deprecated: Function eregi() is deprecated in D:\_daten\apache\htdocs\wb\install\save.php on line 276
Logged
aldus

Offline Offline

Posts: 1238


« Reply #1 on: August 03, 2009, 09:56:03 AM »

Hm ... ereg() ebenfalls ... dann müsste man evtl. auf preg_match() zurückgreifen
Code:
<?php
if ( preg_match('/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9_-])*(\.([a-z0-9_-])([-a-z0-9_-])+)*$/i'$_POST['admin_email'])) {;
    
$admin_email $_POST['admin_email'];
} else {
    
set_error('Please enter a valid email address for the Administrator account','admin_email');
}
?>


Hm ... aber ob der Pattern passt? Code/Code2 page:

Code:
<?php

ini_set
('display_errors'1);
error_reporting(E_ALL);
    
$pattern ='/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9_-])*(\.([a-z0-9_-])([-a-z0-9_-])+)*$/i';

$emails = array (
    
"info.ama@host.aman.de",
    
"12345@abc.com",
    
"abc@abc.info",
    
"jakarta@hamburgerfonts.com",
    
"nairobi.afrika@antarktis.niet.info",
    
"a@b.c",
    
"ab@cd.de",
    
"abc@abc.de",
    
"abcd@defg.com",
    
"abcd@defg.de",
    
"abcd@defg.info",
    
"abcd@defg.net",
    
"abcd@defg.dee",
    
"abc@abc@abc@a",
    
"1234@1234.ab",
    
"1@2.32",
    
"hamburg@bielefeld_arminia.net",
    
"hamburg@bielefeld-alm.dfb",
    
"webmaster@abc\cd.fr"

);

foreach(
$emails as $email) {
    
$r =  preg_match$pattern$email);
    echo 
"r ".$r."   -> ".(($r===0)? "<font color='FF0000'>".$email."</font>" $email)."<br />";
}

?>


Hm  ... scheint so, zumindest auf den ersten Blick ...

Gruß
Aldus

Logged
WebBird
Guest
« Reply #2 on: August 03, 2009, 10:05:02 AM »

Also Apache 2.2.11 und PHP 5.3.0 auf Windows - das ist die totale Moppelkotze. angry Ersetze eregi durch preg_match und der Apache ranzt ab. Es gibt hunderte Forenposts und etliche Bugmeldungen zu dem Thema. Kann ich nicht empfehlen. *grmpf*

Ansonsten müßte man eregi() eigentlich durch preg_match() ersetzen können, sofern man noch die Begrenzer im Pattern ergänzt. (Also /.../ oder #...# oder was auch immer.)
Logged
aldus

Offline Offline

Posts: 1238


« Reply #3 on: August 03, 2009, 10:20:55 AM »

hm ... auch mit
Code:
/^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$/

also:

Code:
<?php
if ( preg_match("/^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$/"$_POST['admin_email'])) {;
    
$admin_email $_POST['admin_email'];
} else {
    
set_error('Please enter a valid email address for the Administrator account','admin_email');
}
?>


Hm ... blöde Situation; das Eine ist veraltet und wirft Fehlermeldungen und das Andere killt den Apache mit
einem PCRE stack overflow ...

Irgendwelche anderen Möglichkeiten?

Gruß
Aldus
Logged
WebBird
Guest
« Reply #4 on: August 03, 2009, 10:39:41 AM »

Irgendwelche anderen Möglichkeiten?

Apache heile machen. angry
* WebBird ist echt stinkig
Logged
aldus

Offline Offline

Posts: 1238


« Reply #5 on: August 03, 2009, 11:27:11 AM »

Hm .. flter_var könnte man nehmen ... gibt es aber erst ab PHP 5.2 ..
Code:
<?php
$r 
filter_var$emailFILTER_VALIDATE_EMAIL);
?>


hm ...
Code:
<?php
if ( true === (version_comparePHPVERSION(), "5.2"">="
        ? 
        
filter_var$_POST['admin_email'], FILTER_VALIDATE_EMAIL
        :
        
eregi("^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$"$_POST['admin_email'])) {
        
$admin_email $_POST['admin_email'];
    } else {
        
set_error('Please enter a valid email address for the Administrator account','admin_email');
    }
?>


Macht die //Sache// aber nicht unbedingt übersichtlicher ... und //gemosert// wird dann trotzdem ...

Thanks to Ruud for the tip

Gruß
Aldus

Logged
WebBird
Guest
« Reply #6 on: August 03, 2009, 11:59:42 AM »

Also nachdem ich da jetzt Stunden rumprobiert habe, kann ich nur sagen:

Finger weg von PHP 5.3.0 und Apache 2.2.11 auf Windows! angry angry angry

Ich habe alle möglichen Tipps aus Foren und Fehlertickets durchprobiert, aber keine gefunden, die funktioniert. Auch die wiederholte Neuinstallation aller Komponenten in verschiedenen Reihenfolgen hat keine Abhilfe gebracht.

Sicherlich ist die eregi() Sache ein ToDo für WB, aber die Meldung erscheint ja auch nur, wenn der Errorlevel entsprechend gesetzt ist. Das Problem, daß der Apache abstürzt, können _wir_ ja nicht lösen.

Edit: Auf meinem anderen Rechner läuft diese Kombi:
Apache/2.2.8 (Win32) PHP/5.2.5 mod_perl/2.0.3 Perl/v5.8.8

Bis jetzt keine besonderen Probleme. Jedenfalls nicht solche. angry
« Last Edit: August 03, 2009, 12:06:28 PM by WebBird » Logged
thorn

Offline Offline

Posts: 980


WWW
« Reply #7 on: August 03, 2009, 12:12:54 PM »

Hallo,

Finger weg von PHP 5.3.0 und Apache 2.2.11 auf Windows! angry angry angry

Ah, wollte schon fragen, -- weil ich hier kein 5.3 habe um auf Linux zu testen.
Aber mal wieder nur Windows betroffen.
Das Problem sollte da aber schon seit 5.2.9 bestehen, oder täusche ich mich?


EDIT: wie verhält sich eigentlich die Suche bei PHP5.3? Kann das mal bitte jemand testen?

thorn.
« Last Edit: August 03, 2009, 03:24:54 PM by thorn » Logged

WebBird
Guest
« Reply #8 on: August 03, 2009, 12:21:47 PM »

Also ich kann zur Zeit leider gar nichts mit 5.3 testen. *grummel* Werd' auf dem anderen Rechner demnächst die Kombi installieren, die auf dem Laptop läuft.

Und ob's nur Windows betrifft, ist noch die Frage, ich hab halt nur Windows.
Logged
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #9 on: August 03, 2009, 01:54:31 PM »

Code:
Sicherlich ist die eregi() Sache ein ToDo für WB, aber die Meldung erscheint ja auch nur, wenn der Errorlevel entsprechend gesetzt ist.

Das isses. Wenn ich das richtig verstanden habe, ist das ja veraltet und soll ja erst mit der 6.0 ganz rausfliegen. Man empfiehlt es zwar nicht, aber Fehlermeldunglevel runtersetzen und dann sollte es funktionieren.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
WebBird
Guest
« Reply #10 on: August 03, 2009, 02:07:04 PM »

Man empfiehlt es zwar nicht, aber Fehlermeldunglevel runtersetzen und dann sollte es funktionieren.

Außer mit PHP 5.3 und Apache 2.2.11 unter Windows...
Logged
Hans>NULL

Offline Offline

Posts: 1389


« Reply #11 on: August 03, 2009, 02:23:02 PM »

Läude, es gibt unter Win. noch andere Server als Apache.
PHP kann auch unter dem "Hutzelfurtz-Server"-Win-Prof. laufen
Gruß, Hans>NUL
« Last Edit: August 03, 2009, 02:28:15 PM by Hans>NULL » Logged

/dev/null Ort ohne Wiederkehr
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #12 on: August 03, 2009, 02:25:02 PM »

Xampp ist aber da in der Betaphase und nicht für den produktiven Einsatz geeignet, also Bug an Apachefriend durchgeben.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #13 on: August 03, 2009, 02:27:24 PM »

Quote
es gibt unter Win. noch andere Server als Apache

Stimmt schon, aber man möchte ja siweit wie möglich reale Bedingungen schaffen, ohne gleich Unix installieren zu müssen.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Hans>NULL

Offline Offline

Posts: 1389


« Reply #14 on: August 03, 2009, 02:28:55 PM »

Widersprech:
Reale Bedingung heißt PHP 5.3 (und nicht Apache)
Für den Server ist am Schluß sowieso der Hoster zuständig.

Letztendlich geht's ja nur um die Auslieferung (http)
Da kann fast jeder

Gruß, Hans>NUL
« Last Edit: August 03, 2009, 02:31:24 PM by Hans>NULL » Logged

/dev/null Ort ohne Wiederkehr
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #15 on: August 03, 2009, 02:30:58 PM »

Hallo Hans>Null,

das wusste ich, dass von dir noch was nachkommt. Freu mich schon drauf.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #16 on: August 03, 2009, 02:38:04 PM »

Nein, aber jetzt ernsthaft. Windows kann bestimmt nicht das an realen Bedingungen erreichen, wie eine Installtion auf dem Webhost. Aber ich komme schon ziemlich nahe dran. Einbindung von mo_rewrite um htaccess zu testen, Und was es sonst noch an mods für Win Apache gibt. Versuche immer alles einzubinden und komme damit auch gut weiter.

Z.B. arbeite ich auch mit Virtualhosts. Habe da inzwischen so an die 20 Domains im localhost am Laufen. Zu 95% kann ich alles durchtesten, bevor ich es ins Netz überspiele.

Du bist dran........ evil

Dietmar
Logged

We are human beings - and nobody is perfect at all.
WebBird
Guest
« Reply #17 on: August 03, 2009, 02:44:51 PM »

Isch nix XAMPP. Isch immer installiere alles einzeln von Hand.

Und es ist auch immer noch unbewiesen, daß der Fehler nur unter Windows auftritt. Ich hab halt nur Windows. Das heißt aber nix.

Die Bemerkung, es gäbe ja noch andere Webserver-Derivate für Windows, finde ich jetzt nicht sonderlich hilfreich. Oder ungefähr so hilfreich, als wenn mein Auto kaputt geht und mir einer den hilfreichen Hinweis gibt, es gäbe ja noch andere Autos. undecided
Logged
Hans>NULL

Offline Offline

Posts: 1389


« Reply #18 on: August 03, 2009, 02:49:38 PM »

Es geht beim Server .wie schon angemerkt- nur um die Auslieferung (Apache, lighttpd, Sambar usw.).
Will jetzt jemand behaupten, daß PHP nur für Apache-Server unter Linux geschrieben wurde?
Der Hinweis ist dann hilfreich, wenn sich außer Post an noch andere halbfertige Projekte zu schicken, keine Alternative abzeichnet. Es geht doch hier um PHP 5.3 und nicht um Server.
Gruß, Hans>NUL
« Last Edit: August 03, 2009, 02:51:13 PM by Hans>NULL » Logged

/dev/null Ort ohne Wiederkehr
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #19 on: August 03, 2009, 02:56:54 PM »

Aber die meisten Hosts laufe ndoch mit Apache, warum dann nicht auch auf Win benuitzen. Es geht mir auch um das Zusammenspiel. Klar geht es um PHP 5.3, wer weiss aber wann die Hoster umstellen. Bei mir sind wir zurzeit bei 5.29 unf fastcgi. Ich habe noch keine andere Server getestet ob sie genauso vielseitig sind. Vieleicht kannst du uns mehr verraten oder ein paar Links zum Nachlesen.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
DarkViper
Development Team
*****
Offline Offline

Posts: 1252


« Reply #20 on: August 03, 2009, 02:57:34 PM »

evt. sollte mal die Syntax der Funktionsaufrufe überprüft werden, denn:
Quote
preg_match()

gibt die Anzahl der Übereinstimmungen mit Suchmuster zurück. Das ist entweder 0 (keine Übereinstimmung) oder 1, weil preg_match() die Suche nach der ersten Übereinstimmung beendet. Im Gegensatz dazu setzt preg_match_all() die Suche bis zum Ende von Zeichenkette fort. preg_match() gibt FALSE zurück, falls ein Fehler auftrat.
Quote
ereg()

Gibt die Länge der übereinstimmenden Zeichenkette zurück, falls in Zeichenkette eine Übereinstimmung mit Suchmuster gefunden wurde oder FALSE, wenn keine Übereinstimmung gefunden wurde oder wenn ein Fehler aufgetreten ist. Falls der optionale Parameter regs nicht übergeben wurde oder die Länge der übereinstimmenden Zeichenkette 0 ist, gibt diese Funktion 1 zurück.
Also sind die beiden Funktionen nicht bedingungslos 1:1 austauschbar!
« Last Edit: August 03, 2009, 03:00:51 PM by DarkViper » Logged

Anleitungen lesen und selber nachdenken ist anstrengend...  Da lass ich doch lieber andere für mich denken...

In 1984:  Nineteen Eighty-Four is a unrealistic utopia!!
In 2012:  Nineteen Eighty-Four is a little piece only of our reality!!
Hans>NULL

Offline Offline

Posts: 1389


« Reply #21 on: August 03, 2009, 03:02:46 PM »

Zumindest unter Windows HATTE ich PHP auch unter einem Sambar-Server laufen (Projekt geschlossen, aber Downloads gibt's noch immer) Unter lighttpd hatte ich im letzten Jahr eine Installation, die sich von den Möglichkeiten eines Apaches nur gering unterschied (auch hier php as cgi)

Noch eine Erklärung: Bis auf den WB-Portable, habe ich PHP-Installationen IMMER unabhängig von einem existierenden Server laufen. Es ist dann Aufgabe des jeweiligen Server eine Einbindung anzubieten.
Dasselbe gilt für SQL und auch CGI. (Servlets sowieso)

Gruß, Hans>NUL

<edit>
Mit PHP 5.3 werden Hoster sehr vorsichtig umgehen, weil wahrscheinlich viele Anwendungen in's Nirwana abgehen.
</edit>
« Last Edit: August 03, 2009, 03:12:58 PM by Hans>NULL » Logged

/dev/null Ort ohne Wiederkehr
aldus

Offline Offline

Posts: 1238


« Reply #22 on: August 03, 2009, 03:07:09 PM »

Quote
sollte mal dis Sytax

Ich fasse das mal als Scherz auf (lol)
[edit]Ok ... korrigiert ...[/edit]

Ok ... "ereg" steht aber auch mit einem Fuss im Grab, was zum Beispiel in der pclzip.lib.php
in Zeile 3372 und 4816 noch einiges unter PHP5.3 //bieten// wird ... hm ...
Code:
<?php
if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header['stored_filename'])) {
  
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Filename match the regular expression");
 
$v_extract true;
 }

Tja ... da kommt einiges auf den Zettel ...

Edit Von "Bedingungslos austauschen" war auch nie die Rede!
Das Problem: wir haben ca. 50-80 Stellen im Core/Framework, die davon betroffen sind ...

Gruß
Aldus


« Last Edit: August 03, 2009, 03:10:20 PM by aldus » Logged
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #23 on: August 03, 2009, 03:21:19 PM »

Klar, besser jetzt schon Gedanken machen, als erst 5 Minuten vor 12.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3146



WWW
« Reply #24 on: August 03, 2009, 03:33:47 PM »

Code:
Mit PHP 5.3 werden Hoster sehr vorsichtig umgehen, weil wahrscheinlich viele Anwendungen in's Nirwana abgehen.

Meiner hatte mir jetzt mitgeteilt, dass alle php 4er und mysql 4er im September wegfallen, also genug Zeit für mich, auch die Datenbanken zu ändern und der Code läuft sowieso schon mit der 5er. Er bleibt aber bei 5.29. Das nenne ich guten Service.

Dietmar
« Last Edit: August 03, 2009, 03:35:28 PM by Luisehahne » Logged

We are human beings - and nobody is perfect at all.
Pages: [1] 2 3   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!