<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux de A à Z &#187; variables super-globales PHP</title>
	<atom:link href="http://www.linux.2a-az.com/tag/variables-super-globales-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.linux.2a-az.com</link>
	<description>comment configurer, administrer et gérer un serveur linux</description>
	<lastBuildDate>Sun, 14 Dec 2008 19:24:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>La directive PHP register_long_arrays</title>
		<link>http://www.linux.2a-az.com/programmation/la-directive-php-register_long_arrays/</link>
		<comments>http://www.linux.2a-az.com/programmation/la-directive-php-register_long_arrays/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 11:19:55 +0000</pubDate>
		<dc:creator>Linux de A a Z</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[directives de configuration PHP]]></category>
		<category><![CDATA[register_long_arrays]]></category>
		<category><![CDATA[variables super-globales PHP]]></category>

		<guid isPermaLink="false">http://www.linux.2a-az.com/?p=51</guid>
		<description><![CDATA[Si il vous arrive de migrer des script PHP3 ou PHP4 depuis d&#8217;anciens serveurs, la directive de configuration PHP5 register_long_arrays risque de vous poser quelques petits problèmes de compatibilité avec les anciennes variables super-globales $HTTP_*_VARS &#8230;






Quel est le problème ?
La directive register_long_arrays, apparue avec PHP5 dans le fichier php.ini, permet d&#8217;activer ou de désactiver ces [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Si il vous arrive de <span style="color: #800000;">migrer des script <span style="color: #000080;">PHP3</span> ou</span> <span style="color: #000080;">PHP4</span> depuis d&#8217;anciens serveurs, la <span style="color: #800000;">directive de configuration</span> <span style="color: #000080;">PHP5</span> <span style="color: #003300;"><em>register_long_arrays</em></span> risque de vous poser quelques petits problèmes de compatibilité avec les anciennes variables super-globales <span style="color: #003300;"><em>$HTTP_*_VARS</em></span> &#8230;</strong></p>
<p><span id="more-51"></span><br />
<script type="text/javascript"><!--
google_ad_client = "pub-0498735937377024";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0066CC";
google_color_url = "0066CC";
google_color_text = "000000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><noscript><!-- BEGIN CODE NetAffiliation : http://www.netaffiliation.com/ - Ebook -->
<a href="http://action.metaffiliation.com/suivi.php?mclic=S31B54797C117" target="_blank"><img src="http://action.metaffiliation.com/suivi.php?maff=S31B54797C117" border="0"></a>
<!-- END CODE NetAffiliation --></noscript></p>
<h3>Quel est le problème ?</h3>
<p>La directive <span style="color: #003300;"><em>register_long_arrays</em></span>, apparue avec PHP5 dans le fichier <em>php.ini</em>, permet d&#8217;activer ou de désactiver ces anciennes variables <em>$HTTP_*_VARS</em> telles que <em>$HTTP_GET_VARS</em> et <em>$HTTP_POST_VARS</em>, qui ont été respectivement remplacées par <em>$_GET</em> et <em>$_POST</em>.</p>
<p>Avec PHP5, la directive <span style="color: #003300;"><em>register_long_arrays</em></span> est positionnée à &laquo;&nbsp;off&raquo;&nbsp; par défaut, ce qui a pour effet d&#8217;empêcher l&#8217;enregistrement des variables longues comme <em>$HTTP_SERVER_NAME</em>&#8230;</p>
<p>Or, de nombreux scripts PHP libres comme <a href="/outils-dadministration/#oscommerce">OSCommerce</a> MS2.2 utilisent les variables super-globales <em>$HTTP_*_VARS</em> dans leur code source.</p>
<p>Heureusement il existe un plugin OSCommerce qui permet de corriger ce problème. Très utile losqu&#8217;on n&#8217;a pas accès à la configuration globale de PHP sur le serveur (voir <a title="OScommerce: Install with register_long_arrays set to OFF" href="http://www.oscommerce.com/community/contributions,4439/page,20" target="_blank">Install with register_long_arrays set to OFF</a>) !</p>
<p>Aucun script utilisant les variables super-globales longues ne fonctionnera correctement avec une version de PHP5 dont la directive de configuration <span style="color: #003300;"><em>register_long_arrays</em></span> est positionnée à &laquo;&nbsp;<em>off</em>&laquo;&nbsp;.</p>
<h3>La solution&#8230;</h3>
<p>Si vous n&#8217;avez pas accès au fichier php.ini du serveur sur lequel vous travaillez, la seule solution est de modifier les sources et de remplacer toutes les références à des variables super-globales obsolètes <em>$HTTP_*_VARS</em>&#8230;</p>
<p>Si vous avez accès au fichier de configuration PHP, il peut être utile de remplacer temporairement la ligne :</p>
<blockquote><p>register_long_arrays = Off</p></blockquote>
<p>par :</p>
<blockquote><p>register_long_arrays = On</p></blockquote>
<p>Après redémarrage d&#8217;Apache, cette manipulation permet de réactiver les variables <em>$HTTP_*_VARS</em>, le temps de corriger vos scripts&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linux.2a-az.com/programmation/la-directive-php-register_long_arrays/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
