They did not break backwords compatiblity, because $HTTP_*_VARS works on all the new versions of PHP so far, it's just not Super Global...
Eric ----- Original Message ----- From: "arti" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, April 03, 2002 10:40 AM Subject: [PHP] Environment Variables & Functions Incompatible??? > I am running code on different versions of PHP, specifically 4.0.6 and > 4.1.2. For some reason, you have to use $HTTP_SERVER_VARS["HTTP_HOST"]) on > 4.0.6 and $_SERVER["HTTP_HOST"] on 4.1.2. I'm not sure who thought that > breaking backward compatibility was a good idea, but let's ignore that for > the moment. In this situation, the obvious thing to do here would be to > make a common function to return the hostname. But, this does not work as > illustrated below: > > ----------------- this is the main PHP script > <?php > //main.php > include ("crap.php"); > > function thisalsonowork() > { > print "Third one: (".isset($HTTP_SERVER_VARS["HTTP_HOST"]).")"; > } > > thisnowork(); > print "Second one: (".isset($HTTP_SERVER_VARS["HTTP_HOST"]).")"; > thisalsonowork(); > ?> > > --------------- this is the include/require script > <?php > //crap.php > function thisnowork() > { > print "First one: (".isset($HTTP_SERVER_VARS["HTTP_HOST"]).")"; > } > ?> > > ----------- Here is the output > > First one: ()Second one: (1)Third one: () > > > > > Besides the fact that the different versions of PHP provide different > environment variables for determining the host, the isset() on the env > variable works differently inside a function. What is going on here? > > Am I just missing something obvious? > > Thanks, > > -- Brian > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php