Newsgroup: it.comp.www.php
Titolo: Include con fenomeni strani... IIS??

Buongiorno a tutti!
Ho sviluppato una serie di script in PHP e collaudati con PHP 4.3.3 e server
Apache; ovviamente funzionanti in modo corretto.
Ora perň ho un cliente che vuole acquistare l'applicazione e vuole far
girare tutto sotto IIS 5 e possibilmente con PHP 5 (anche se non č una
release "di produzione" - "...voglio guardare al futuro!" [lui disse]) e
succede una cosa, secondo me, strana; posto il codice:
-----------------------------------------------
<?PHP
require "globvar.php";
require "globfunc.php";
-----------------------------------------------
Quando eseguo le chiamate alle funzioni contenute in "globfunc.php" il
messaggio che ottengo č:
Notice: Undefined variable: db_host in E:\WWWTest\globfunc.php on line 46
Notice: Undefined variable: db_user in E:\WWWTest\globfunc.php on line 46
Notice: Undefined variable: db_password in E:\WWWTest\globfunc.php on line
46
Notice: Undefined variable: db_host in E:\WWWTest\globfunc.php on line 10
Notice: Undefined variable: db_user in E:\WWWTest\globfunc.php on line 10
Notice: Undefined variable: db_password in E:\WWWTest\globfunc.php on line
10
Ovviamente le variabili che "lamenta" sono correttamente definite in
"globvar.php".
Ho provato ovviamente a migrare ancora verso PHP 4.3.3 ma il problema
persiste.
IIS?
Qualcosa di non configurato in PHP.INI che ho dimenticato? (anche se i
settaggi che avevo fatto in precedenza li ho riportati tutti...)
Posso ritenere sufficentemente "stabile" PHP 5 per poterla usare senza
sorprese?
Buona giornata!
Francesco

 Notice: Undefined variable: db_host in E:\WWWTest\globfunc.php on line 46
Ah, P.S.! Ovviamente le variabili in globfunc.php hanno valore nullo! :-(
Francesco

 sorprese?
Dipende da cosa intendi per sorprese e come vuoi utilizzarla.
-- 
I am what I am, I do what I can
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y
Vuoi supportarmi? 
http://url.repository.biz/go/3E
L'uomo, conscio di sbagliare, persevera.

 girare tutto sotto IIS 5 e possibilmente con PHP 5 (anche se non č una
Scusa ma ,da quando č il cliente che decide le versioni dei programmi da
installare sui server?con che motivazione "tecnica" ? cosa gli serve
specifico di php5 ?
ti consiglio di evitare forzature simili da parte del cliente, a meno che
non siano corretamente motivate da un punto di vista tecnico...(nel qual
caso si presume che il cliente stesso sia bello ferrato in materia e quindi
non dica ca**ate )
Ciao
Federico

 ha scritto nel messaggio
news:Ypvec.121556$Kc3.4...@twister2.libero.it...


 non siano corretamente motivate da un punto di vista tecnico...(nel qual
Non ci avevo proprio pensato!
Farò tesoro dei tuoi consigli!
[Scusa: hai mai pensato a come funziona il gioco domanda-offerta? Il cliente
scrive un capitolato (il libro dei desideri) vedi se puoi esaudirli, e fai
le tue raccomandazioni; a questo punto ci sono due scenari: o lui dice:
"grazie professionista delle tue raccomandazioni" oppure ti risponde: "io
sono il cliente, io ti pago e se vuoi lavorare per me fai così". Visto che
non ritengo una cosa impossibile usare PHP 5 AMMONENDOLO PER ISCRITTO sui
rischi nell'utilizzare un prodotto ancora beta release...).
Ciao!
Francesco

 proprio del PHP?
No! Non sono sicuro di niente!
E' proprio per questo che chiedo a chi ne sa più di me eventuali consigli...
;-))
Appro! Io per intanto faccio lavorare tutto sotto XP-Pro in attesa che
arrivi il server configurato (che sarà sotto Win2003 server), purtroppo non
la sto curando io quella cosa! La tua versione di IIS?
Ciao!
Francesco

 Dipende da cosa intendi per sorprese e come vuoi utilizzarla.
Semplice! Se secondo la tua esperienza usando PHP 5 ci sono solo rogne e non
ne vuole sapere di funzionare allora è meglio aspettare una versione
stabile, mentre invece se - secondo la tua esperienza - l'interprete
funziona correttamente ma non hai mai incontrato problemi evidenti... beh,
forse val la pena dire che "rischieresti"!
Scusa, forse te l'ho gia detto, ma è tanto difficile per te dare delle
risposte concrete senza ribaltare la frittata??
Se non sai come rispondere, non è meglio scrivere "non lo so"?
Grazie e ciao!
Francesco
P.S.: Rimane aperto il quesito! ;-)

 La tua versione di IIS?
IIS 5.0
-- 
I am what I am, I do what I can
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Votami! 
http://www.phpclasses.org/vote.html


 Se non sai come rispondere, non h meglio scrivere "non lo so"?
Dipende, se "non so lo" si, se invece potrei saperlo e non sono in
grado di dare una risposta efficace perche' chi ha posto la domanda non
ha fornito tutte le informazioni necessarie preferisco rispondere
"dipende ...".
-- 
I am what I am, I do what I can


Sinceramente le risposte che hai dato mi  fanno sorgere dei "grossi" dubbi
sulla tua esperienza. ma che ca**o vuol dire "gliel'avra' consigliato il
cugino" ? e se il cugino gli dice che il server migliore è Netscape su amiga
tu che fai , gli monti netscape su amiga ? ma dai.....
Se inoltre ti fossi preso la briga di lurkare il newsgroup prima di postare
avresti visto che Setec è uno dei piu precisi e attivi nel rispondere ai
quesiti postati e avresti evitato la risposta inutile e stronza che gli hai
dato e che non meritava...
Sembra che a cercare di aiutare si sbagli sempre eh....
Complimenti, ti sei appena meritato il tuo bel  posticino in kf.....
byez byez ....
Federico


:Provate a guardare gli ingredienti del famoso Labello che si usa per
:le labbra screpolate: Butirrospermum Parkii (sperma di maiale).

 da Ovest, mi verrebbe il dubbio di avere una bussola guasta io.
Questa me la stampo a la appendo al muro :)) 
-- 
I am what I am, I do what I can


 Insomma, anche te aiutaci ad aiutarti :-)
Sicuramente ecco postato il codice in questione; come vedi c'è ben poco di
"strano" anche perché... ripeto, su Apache funziona che è una meraviglia!
Vedi, il problema di tutte le risposte che ho visto di Setec è la laconicità
assoluta; ho provato a postare più volte e le risposte sono sempre state
domande... atteggiamento tipico di tutte le persone che non sanno una
risposta e non vogliono far sapere che non sanno... ;-) (o magari che la
sanno e se la tengono... ;-))) purtroppo sperimentato troppe volte in ambito
lavorativo!
Nulla di personale, sia chiaro, ma su due file, uno con una serie di
$variabile = valore e di funzioni che usano le variabili non trovo niente di
particolare da inventare, ecco perché la mia hot answer! (ah... ripeto:
Codice funzionante su Apache!).
Ciao!
Francesco

 Complimenti, ti sei appena meritato il tuo bel  posticino in kf.....
Oddio! Professionisti del 2k4! Non sono d'accordo con una persona, non
discuto, metto nel killfile! Gran segno di maturità!
Francesco

(ah... ripeto: Codice funzionante su Apache!).
Saro' sincero: dovrei vederlo - e probabilmente non ci crederei manco
vedendolo.
O c'e' dell'altro codice che non mi hai fatto vedere e che in qualche
modo per me misterioso risolve il problema... oppure, quella funzione
setuseraccess non puo' funzionare. In ASP funzionerebbe, dato che li'
se ricordo bene lo scope e' globale, comunque (?), ma in PHP (come in
C del resto) non t'o piglia manco se lo scrive il Padre Eterno.
Questa cosa sta cominciando a interessarmi assai...
Leonardo con una passione per i mysteri
-- 
Avere studiato senza mettere in pratica e' inutile;
mettere in pratica senza avere studiato e' pericoloso.
                                                - Conphpucio

 Questa cosa sta cominciando a interessarmi assai...
Ti dirò di più! Sono riuscito anche a farlo funzionare su IIS... con
modifiche zero!! :-)
Il problema è nell'installer di PHP! ;-) In un impeto di pigrizia (o come
vuoi chiamarla - se lo può fare l'installer in automatico con rischio di
errori zero perché devo farlo io in manuale?) ho scaricato dal sito PHP
l'installer in automatico! Errore! Installando PHP con il file .ZIP tutto si
è risolto!
Cosa vuoi che ti dica?
Ciao!
Francesco

 discuto, metto nel killfile! Gran segno di maturità!
c'e poco da discutere .....
il cliente vuole delle soluzioni e Tu , tecnico gli fai un progetto . PUNTO
!
il cliente non puo' ne deve , per definizione entrare nelle scelte tecniche,
a meno di motivartele adeguatamente.. (e non mi sembra questo il caso...) e
anche li, da vedere se le motivazioni sono esatte o suggerite dal "cuggino
di un suo nipote"...
Poi, fai come vuoi...
PS : dopo 10 anni nel campo e qualche sito "vero" progettato, realizzato e
amministrato , si,, mi ritengo un professionista..
Federico

la sto curando io quella cosa! La tua versione di IIS?
Vorrei approfittarne per riportare qualche piccolo problema che per
ora continuo a riscontrare con PHP5 e le sue modalita' di esecuzione
con IIS (e quindi in ambiente windows):
- FastCGI: modalita' che in ambiente windows unisce prestazioni e
  stabilita' d'esecuzione di PHP... peccato che non sia ancora
  riuscito a far andare in questa maniera PHP5! Ho effettuato la mia
  prova proprio con Windows 2003 Server (IIS6) usando diverse snapshot
  di PHP5. Ho anche cercato in internet, sperando di essere totalmente
  smentito, ma al contrario mi e' sembrato di capire che si tratti
  comunque di un problema comune.
- ISAPI: garantisce prestazioni, ma garantisce anche instabilita'. Mi
  e' capitato assai raramente con PHP4 di riscontrare problemi, mentre
  con PHP5 capita spesso che in questa modalita' esploda tutto.
  Vi diro' solamente che basta lanciare una eccezione, molto
  banalmente throw Exception("inutile, tanto esplodo"); per ottenere
  nel 90% dei casi un messaggio di Access Violation. Simpatico.
- CGI: rimane la classica modalita' CGI, che garantisce stabilita' di
  PHP ma non certo prestazioni a causa dell'overhead del caricamento
  dell'interprete per ogni chiamata a una pagina php.
PS: la versione che attualmente sto utilizzando per i miei test e' una
snapshot dal CVS (PHP Version 5.0.0RC2-dev Mar 20 2004 08:12:18)
-- 
Daniele Alessandri

   comunque di un problema comune.
PHP5RC1 con IIS 5.0 funziona perfettamente come FastCGI.
-- 
I am what I am, I do what I can
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y
Votami! 
http://www.phpclasses.org/vote.html


PHP5RC1 con IIS 5.0 funziona perfettamente come FastCGI.
Tra le varie prove c'era anche con IIS 5.0 e PHP5 RC1, ma il
comportamento non e' stato molto diverso dalle altre: carica i
processi di php-cgi.exe (nel numero specificato per FastCGI nel
registry in StartServers) quando deve essere eseguito uno script, li
scarica subito dopo e viene restituito l'errore "Server Error, unable
to connect to fastcgi server" (errore che tra l'altro sembra
affliggere diversa gente). La procedura di installazione non e' stata
diversa da quella che ho sempre usato per eseguire con successo PHP4
sotto IIS come FastCGI.
Comunque spinto dalla tua testimonianza ho appena fatto un'altra
prova, installando su una macchina Win2k di test PHP4 (4.3.6) e PHP5
(RC1) e condividendone il medesimo file php.ini. In seguito ho
configurato FastCGI e per provare le due versioni di PHP non ho fatto
altro che modificare nel registry il valore di "AppPath" con il path
relativo alla versione di PHP da testare ed eseguendo in seguito
IISRESET. Risultato della prova: con PHP4 tutto perfettamente
funzionante, con PHP5 ancora l'errore di cui parlavo prima.
Tu hai cambiato qualche configurazione (PHP, IIS o FastCGI) per far
andare PHP5 come FastCGI rispetto alle procedure utilizzare per PHP4?
-- 
Daniele Alessandri

 amministrato , si,, mi ritengo un professionista..
Io no. Sono una persona che nonostante abbia preso in mano il primo PC (o
home computer - come li chiamavano allora) a 11 anni e adesso ne ho 33
lavorando sempre in industrie del settore elettronico / automazione, più va
avanti più si sente ignorante! Altro che professionisti! Nessuno lo sarà
mai...
Ciao!
Francesco

 a meno di motivartele adeguatamente.. (e non mi sembra questo il caso...)
sarebbe stata in pieno accordo comunque (lo capisci vero quel : "a meno di
motivartele adeguatamente"?) , dato che non credo si parli di "cugini" del
capo  nel binder d'appalto...
Adesso, vedi di evitare di cambiare completamente le carte in tavola, nel
risponderti si tiene conto di quello che TU dici..se TU sei profondamente
impreciso ...non e' certo colpa mia...
byeez...
Federico stufo di polemiche sterili..

Cosa vuoi che ti dica?
Prova a dirmi
"Tranquillo, Leonardo, staro' in guardia, perche' so che potrebbe starmi
funzionando per un motivo che non e' quello che penso io"
cosi' non mi preoccupero' per conto tuo :-)
Leonardo


> Federico stufo di polemiche sterili..
Ma quello che è stufo di polemiche sono io!
Nel mio primo post ho detto che non so chi gliel'avesse  detto al mio
cliente di inserire nel capitolato PHP5... SCHERZOSAMENTE ho detto...
gliel'avrà detto suo cugino che fa lo smanettone.... fatto sta che è dentro:
o così o l'ordine salta!
Arabo? Sembra di si!
Siccome sono stufo anch'io di stare a parlare con persone limitate che
vedono solo il loro orticello e pensano di conoscere il mondo, caro
Federico, ti saluto, vedo che hai fatto un gran polemicone su una quisquilia
ma non hai preso atto della soluzione che ho trovato al problema principe,
non ho sentito le tue impressioni "da tecnico" - sempre che tu lo sia - come
non ho sentito quelle di Setec e ti tanti guru o presunti tali che affollano
questo ng... e nessuno mi venga a dire che la soluzione era banale perché se
così fosse sicuramente qualcuno l'avrebbe proposta!
Mi sento invece in dovere di complimentarmi con Daniele Alessandri, il quale
ha esposto con chiarezza e puntualità la sua esperienza in PHP 5, e di tutta
risposta, il "guru" Setec ha risposto:
"PHP5RC1 con IIS 5.0 funziona perfettamente come FastCGI."
Insomma, Daniele dice: "a me non funziona perché succede così...." e "Guru"
Setec risponde: "Non è vero" senza sprecarsi in dettagli utili (accorgimenti
sull'installazione? dettagli sul proprio setup? offerte di diagnosticare il
problema insieme?).
Buonanotte.
Francesco

 cosi' non mi preoccupero' per conto tuo :-)
No, dai! Non è il caso!
Ti invito però a leggere questo pezzo del manuale del PHP:
--------------------------------------------------------------
The scope of a variable is the context within which it is defined. For the
most part all PHP variables only have a single scope. This single scope
spans included and required files as well. For example:
<?php
$a = 1;
include "b.inc";
?>
Here the $a variable will be available within the included b.inc script.
However, within user-defined functions a local function scope is introduced.
Any variable used inside a function is by default limited to the local
function scope. For example:
<?php
$a = 1; /* global scope */
function Test()
{
   echo $a; /* reference to local scope variable */
}
Test();
?>
This script will not produce any output because the echo statement refers to
a local version of the $a variable, and it has not been assigned a value
within this scope. You may notice that this is a little bit different from
the C language in that global variables in C are automatically available to
functions unless specifically overridden by a local definition. This can
cause some problems in that people may inadvertently change a global
variable. In PHP global variables must be declared global inside a function
if they are going to be used in that function.
--------------------------------------------------------------
...esattamente il discorso che facevi tu!
Per tagliare la testa al toro modificherò le mie funzioni, ma il mistero
resta.... perché apache non si lamenta (e adesso neanche più IIS)?? C'è
qualche configurazione in php.ini per fare in modo che all'interno delle
funzioni mi veda anche le variabili globali senza dichiararle? (un parametro
c-mode=on ??).
Ciao! e grazie del contributo.
Francesco

sei proprio un troll.....!!
.
.
.
beh, che fai , t'incazzi ??non vedi che e' detto SCHERZOSAMENTE ?
:-P
 Federico
-- 
il networking e' come il sesso, puoi studiare 10.000 libri
ma e' solo continuando a infilare lo spinotto che impari davvero
;-)