<?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>Benjamin Agullana &#187; memory_limit</title>
	<atom:link href="http://www.benjamin-agullana.fr/tag/memory_limit/feed" rel="self" type="application/rss+xml" />
	<link>http://www.benjamin-agullana.fr</link>
	<description>Développeur - Intégrateur</description>
	<lastBuildDate>Wed, 19 Oct 2011 10:58:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Augmenter PHP memory_limit</title>
		<link>http://www.benjamin-agullana.fr/serveur/augmenter-php-memory_limit.html</link>
		<comments>http://www.benjamin-agullana.fr/serveur/augmenter-php-memory_limit.html#comments</comments>
		<pubDate>Sun, 26 Sep 2010 20:58:47 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Serveur]]></category>
		<category><![CDATA[memory_limit]]></category>
		<category><![CDATA[serveur]]></category>

		<guid isPermaLink="false">http://localhost/benjamin-agullana.fr_2010/?p=52</guid>
		<description><![CDATA[Aujourd&#8217;hui je vais étaler 3 façons très simple pour changer la valeur de &#171;&#160;memory_limit&#171;&#160;, indispensable dans l&#8217;exécution de gros script ou de grosses requêtes SQL. Les 3 astuces qui seront présentées sont toutes 3 différentes mais permettent d&#8217;arriver au même résultat. Je présenterai aussi les avantages de chacune. Ah oui mais au fait pourquoi cet]]></description>
			<content:encoded><![CDATA[<p>Aujourd&#8217;hui je vais étaler 3 façons très simple pour changer la valeur de &laquo;&nbsp;<strong>memory_limit</strong>&laquo;&nbsp;,  indispensable dans l&#8217;exécution de gros script ou de grosses requêtes  SQL. Les 3 astuces qui seront présentées sont toutes 3 différentes mais  permettent d&#8217;arriver au même résultat. Je présenterai aussi les  avantages de chacune.</p>
<p><img title="Fatal_Error" src="http://www.benjamin-agullana.fr/images/articles/fatal_error1.jpg" alt="" width="502" height="75" /><span id="more-52"></span></p>
<p>Ah oui mais au fait pourquoi cet article ? Tout simplement pour tout ceux qui en on marre des erreurs telles que :</p>
<blockquote><p>PHP Fatal error: Allowed memory size of <strong>XXX</strong> bytes exhausted (tried to allocate <strong>YYY</strong>) in un_fichier.php</p></blockquote>
<p>Allez, c&#8217;est par là que ca se passe !</p>
<p><img title="Lire la suite…" src="http://www.benjamin-agullana.fr/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>En  fait, si vous obtenez une erreur de ce genre c&#8217;est tout simplement car  votre script est trop gros pour votre serveur Apache. Il faut savoir que  d&#8217;origine, memory_limit est définie à 8MB,dans le fichier php.ini  (c&#8217;est dans ce fichier que sont définies toutes les variables d&#8217;Apache)  ,ce qui est relativement peu quand on a une grosse base de données par  exemple et que l&#8217;on veut exécuter des requêtes importantes.</p>
<p>La solution ? Augmenter cette valeur !</p>
<h2><span style="color: #99cc00;">1ere façon : modifier php.ini</span></h2>
<p>Si vous avez accès au <strong>fichier php.ini</strong> de votre serveur ouvrez-le avec votre editeur de texte préféré (en  local par exemple, avec WAMP, il se trouve dans  wamp/Apache2/bin/php.ini).</p>
<p>Là, faites une recherche (CTRL + F généralement) avec le mot clé &laquo;&nbsp;<em>memory_limit</em>&laquo;&nbsp;. Une fois le mot trouvé, remplacé la valeur par :</p>
<blockquote><p><strong>memory_limit = 32M</strong> ; Maximum amount of memory a script may consume (8MB)</p></blockquote>
<p>(ce qui suit le ; est un commentaire, on s&#8217;en fiche <img src='http://www.benjamin-agullana.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). 32M est une valeur raisonnable.</p>
<p>Mais  vous pouvez ajustezr la valeur à vos souhaits, cependant sachez que plus  vous réglerez une valeur élevée plus votre site peut s&#8217;exposer à du  danger. En effet, avec cette méthode vous permettez l&#8217;exécution de gros  script ou grosses requêtes SQL sur tout votre site, du coup si une <span style="text-decoration: underline;">personne malveillante</span> voulez soutirer un maximum de données elle pourrait le faire.</p>
<p>Pensez à <strong>relancer</strong> votre <strong>serveur Apache</strong> pour que les modifications prennent effet !</p>
<h2><span style="color: #99cc00;">2eme façon : modifier .htaccess</span></h2>
<p>Cette méthode est souvent nécessaire <strong>si vous n&#8217;avez pas accès au fichier php.ini</strong> (la plupart du temps c&#8217;est le cas si vous êtes chez un hébergeur). La  solution est de modifier la valeur du memory_limit en insérant une petit  ligne de code dans votre fichier .htaccess (si vous n&#8217;en n&#8217;avez pas,  créez-en un avec votre éditeur de texte, renommez le .htaccess).</p>
<p>Je vous conseille de créer ce fichier <strong>spécifiquement</strong> dans le dossier où se trouve le fichier qui détient le script trop  volumineux et donc auteur de votre visite sur mon blog (j&#8217;espère que  vous me suivez :p ).</p>
<p>Bref voici la ligne à ajouter dans le fichier :</p>
<blockquote><p>php_value memory_limit 64M</p></blockquote>
<p>Ce changement sera local,  et s&#8217;appliquera donc seulement à l&#8217;ensemble des script présents dans  les fichiers enfants de votre dossier contenant le fichier .htaccess  (relisez bien c&#8217;est compréhensible, si si, je vous assure ! ).</p>
<h2><span style="color: #99cc00;">3eme façon : changer memory_limit dans votre script php !</span></h2>
<p>Cette dernière méthode est la mieux adaptée à mon sens, car c&#8217;est la moins dangereuse. En effet, nous allons allouer plus de place à l&#8217;exécution d&#8217;<strong>un</strong> <strong>script</strong> bien précis puisque nous allons insérer une ligne de code PHP qui va permettre de <strong>modifier la valeur</strong> de la <strong>variable</strong> <span style="text-decoration: underline;">seulement</span> à l&#8217;exécution dudit script ! De plus, vous pouvez la faire sans avoir besoin des permissions d&#8217;accès au php.ini ou .htaccess.</p>
<p>Voici le bout de code (à placer dans votre fichier php, au dessus du satané script volumineux) :</p>
<blockquote><p>ini_set(&#8216;memory_limit&#8217;,&#8217;64M&#8217;);</p></blockquote>
<p>Voilà c&#8217;est tout pour aujourd&#8217;hui, un grand merci à <a href="http://www.ducea.com/2008/02/14/increase-php-memory-limit/">MDLog:/sysadmin</a>. Si vous allez la moindre question posez là !</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/serveur/augmenter-php-memory_limit.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/serveur/augmenter-php-memory_limit.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

