Newsgroup: it.comp.www.php
Titolo: problemi con dokuwiki e php 5.3

salve amici phpisti
scusate se vengo qui a chiedere aiuto, forse potreste darmi una mano
oggi, come regalo natalizio, di punto in bianco e senza dirmi nulla , netsons
ha pensato bene di implementare php 5.3, senza nemmeno immaginare i problemi
che vrebbe dato forse confidavano nell'aiuto di ges� bambino, chiss�)
purtroppo dokuwiki (e non solo) non lo digeriscono bene
e mi d� numerosi errori, alcuni dei quali ho gi� corretto ma per altri non
so ceh fare, il sito �p questo:
http://puppylover.netsons.org/dokupuppy
e questi gli errori, posso fare qualcosa oltre naturalmente a cercarmi un hosting
serio che non mi faccia questi scherzi?
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth.php
on line 154
Warning: Cannot modify header information - headers already sent by (output
started at /home/puppylov/public_html/dokupuppy/inc/auth.php:154) in /home/puppylov/public_html/dokupuppy/inc/actions.php
on line 131
******************************
Deprecated: Assigning the return value of new by reference is deprecated in
/home/puppylov/public_html/dokupuppy/inc/parser/parser.php on line 66
Deprecated: Assigning the return value of new by reference is deprecated in
/home/puppylov/public_html/dokupuppy/inc/parser/lexer.php on line 292
Deprecated: Assigning the return value of new by reference is deprecated in
/home/puppylov/public_html/dokupuppy/inc/parser/handler.php on line 22
Deprecated: Assigning the return value of new by reference is deprecated in
/home/puppylov/public_html/dokupuppy/inc/parser/handler.php on line 49
Deprecated: Assigning the return value of new by reference is deprecated in
/home/puppylov/public_html/dokupuppy/inc/parser/handler.php on line 213
Deprecated: Assigning the return value of new by reference is deprecated in
/home/puppylov/public_html/dokupuppy/inc/parser/handler.php on line 241
Deprecated: Assigning the return value of new by reference is deprecated in
/home/puppylov/public_html/dokupuppy/inc/parser/handler.php on line 295
Deprecated: Assigning the return value of new by reference is deprecated in
/home/puppylov/public_html/dokupuppy/inc/parser/handler.php on line 328
Deprecated: Assigning the return value of new by reference is deprecated in
/home/puppylov/public_html/dokupuppy/inc/parser/handler.php on line 575

 in /home/puppylov/public_html/dokupuppy/inc/parser/parser.php on line 66
Questi dovrebbero essere abbastanza semplici da correggere, sperando non 
abbiano fatto cose troppo sporche.
Posta la riga che ti riporta che vediamo come l'hanno scritta.
Bye.

non abbiano fatto cose troppo sporche.
[...]
s�, ho scoperto che il carattere deprecato era l'ampersand (&) l'ho eliminato
e ora non ho pi� quel tipo di errori, rimangono quelli relativi a split  e
questo altro (sempre con split) curiosamente non su tutte le pagine
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/parser/lexer.php
on line 510
almeno fino ad ora, sono alla ricerca di eventuali altri errori.

 wrote:
[...]
a proposito dei problemi con split() in /inc/auth.php (dokuwiki) l'ho sostituito
con 
explode()
e sembra tutto risolto ora - mi riservo di controllare per scovare eventuali
altri errori, grazie per lo spunto se, socme spero, ho risolto, se avete altri
suggerimenti od osservazioni sono bene accetti naturalmente
visto che il php 5.3 mi ha causato questo fastidio (o meglio � stata netsons
che � passata al 5.3 di punto in bianco), ci sono lati positivi nell'upgrade
da php 5.2 al 5.3?
 


[...]
ho parlato troppo presto, non riesco pi� a fare il login dopo questa modifica
e mi compaiono questi errori
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 281
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 282
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 281
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 282
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 281
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 282
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 281
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 282
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 281
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 282
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 281
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 282
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 281
Deprecated: Function split() is deprecated in /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php
on line 282
Warning: Cannot modify header information - headers already sent by (output
started at /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php:281)
in /home/puppylov/public_html/dokupuppy/inc/auth.php on line 135
Warning: Cannot modify header information - headers already sent by (output
started at /home/puppylov/public_html/dokupuppy/inc/auth/plain.class.php:281)
in /home/puppylov/public_html/dokupuppy/inc/actions.php on line 311
 

 nell'upgrade da php 5.2 al 5.3?
A parte tutte le nuove funzionalita` (namespace in primis) che pero` 
sfrutti solo se scrivi codice apposta per la 5.3, dovrebbe essere piu` 
veloce nel garbage collection e in alcune altre funzioni.
Ma visto che hai preso pezzi di codice dalla nuova versione di docuwiki, 
non e` che magari quella e` compatibile con la 5.3 di PHP?
Inoltre, se e` una cosa urgentissima, puoi farti disabilitare i warning 
sul server, visto che per ora quello di split e` solo un deprecation 
warning, e verra` effettivamente rimosso solo dalla 6.0 di PHP?
Forse puoi farlo anche da solo con ini_set, magari in un file che viene 
incluso da tutte le pagine.
Poi con calma, in locale, ti installi PHP 5.3 e inizi a sistemare il 
codice, o segnali i bug a quelli di docuwiki.
Bye.

sul server
[...]
alla fine ho fatto cos�, avevo, in public_html
la cartella
dokupuppy
ho creato
dokupuppy2
e ci ho installato l'ultima versione di dokuwiki (che aveva corretto questi
problemi) ho importato le pagine del wiki, aggiunto i plugin e tutto il resto
ed ho attivato la riscrittura url nel file .htaccess
#############
RewriteEngine on
RewriteBase /dokupuppy2
###############
a questo punto, poich� l'installazione funzionava ho pensato di
rinominare la cartella dokupuppy2 in dokupuppy
e la cartella dokupuppy (contenente la vecchia installazione che dava problemi
con il php 5.3) in dokupuppy 1
quando ho rinominato la cartella dokupuppy2 in dokupuppy (l'url del sito �
http://puppylover.netsons.org/dokupuppy/
)
ho modificato il file .htaccess in modo da riflettere il cambiamento
#############
RewriteEngine on
RewriteBase /dokupuppy
###############
e la home si vedeva bene, ma cliccando sui coillegamenti, usciva una scritta
del tipo: impossibile trovare il percorso /lib/.exe ecc...
allora ho fatto cos�:
in dokupuppy il file .htaccess :
#############
RewriteEngine on
RewriteBase /dokupuppy2
###############
e in dokupuppy2
#############
RewriteEngine on
RewriteBase /dokupuppy2
###############
in questo modo, digitando l'indirizzo:
http://puppylover.netsons.org/dokupuppy/programs:genealogy
la pagina effettiva che viene visualizzata � in realt� quella corrispondente
alla nuova installazione funzionante:
http://puppylover.netsons.org/dokupuppy2/programs:genealogy
con questo stratagemma il contenuto del sito � di nuovo accessibile, ma mi
chiedo perch� dopo aver rinominato dokupuppy2 in dokupuppy e aver cambiato
la riscrittura url, mi desse quell'errore. forse dokuwiki memorizza qualcosa
riguardo al percorso in cui viene installato? O forse sono io che ho fatto
un gran casino con le regole di riscrittura url?