<?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>Yriase &#187; eaccelerator</title>
	<atom:link href="http://www.yriase.fr/tag/eaccelerator/feed" rel="self" type="application/rss+xml" />
	<link>http://www.yriase.fr</link>
	<description>Actu, Développement, Tutoriaux, Geek ...</description>
	<lastBuildDate>Sun, 05 Feb 2012 15:33:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Accélerer et optimiser son intallation PHP avec eAccelerator</title>
		<link>http://www.yriase.fr/602-accelerer-et-optimiser-son-intallation-php-avec-eaccelerator.html</link>
		<comments>http://www.yriase.fr/602-accelerer-et-optimiser-son-intallation-php-avec-eaccelerator.html#comments</comments>
		<pubDate>Fri, 12 Feb 2010 14:26:34 +0000</pubDate>
		<dc:creator>
<img alt="" src="http://0.gravatar.com/avatar/8d419a54322fb4b031f344a82a2f58ea?s=12&amp;d=identicon&amp;r=G" class="avatar avatar-12 photo" height="12" width="12" style=" border: 1px solid; border-color: #000000;"/>
seiyar81</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[eaccelerator]]></category>
		<category><![CDATA[opcode]]></category>

		<guid isPermaLink="false">http://www.yriase.fr/?p=602</guid>
		<description><![CDATA[Quand on doit gérer un serveur Web, on doit s&#8217;occuper avant tout de la sécurité de l&#8217;installation, de sa stabilité, etc mais il ne faut pas pour autant négliger les performances. Car oui l&#8217;utilisateur final ne se préoccupe pas vraiment de savoir si le serveur risque de tomber à la moindre attaque, et si l&#8217;application [...]]]></description>
			<content:encoded><![CDATA[<p>Quand on doit gérer un serveur Web, on doit s&#8217;occuper avant tout de la sécurité de l&#8217;installation, de sa stabilité, etc mais il ne faut pas pour autant négliger les performances. Car oui l&#8217;utilisateur final ne se préoccupe pas vraiment de savoir si le serveur risque de tomber à la moindre attaque, et si l&#8217;application est trop longue à répondre il ira voir ailleurs s&#8217;il peut ou alors va commencer à s&#8217;énerver.</p>
<p>J&#8217;ai déjà présenté quelques modules pour accélérer Apache, mais aujourd&#8217;hui je vais expliquer comment installer très simplement un système de cache d&#8217;opcode : eAccelerator.<br />
Avant cela quelques explications.</p>
<h4><strong>Qu&#8217;est-ce que l&#8217;<em>opcode</em> ?</strong></h4>
<p>Comme vous le savez tous sûrement, PHP n&#8217;est pas un langage compilé, mais interprété. C&#8217;est à dire qu&#8217;à chaque exécution le code est parcouru puis PHP génère ce qu&#8217;on appelle l&#8217;<em>opcode </em>qui est en réalité un code compréhensible par la machine qui pourra donc l&#8217;exécuter.<br />
Ce processus peut très vite devenir lourd pour la machine dès lors que l&#8217;application fait face à un nombre important de clients et les temps de réponses n&#8217;en sont que plus long.</p>
<h4><strong>Quelles solutions ?</strong></h4>
<p>C&#8217;est pourquoi on va s&#8217;intéresser aux systèmes de cache d&#8217;<em>opcode</em>. Ces derniers améliore grandement les performances de PHP en plaçant dans un système de cache ces fameux <em>opcodes</em>.<br />
Il existe plusieurs solutions dont voici une courte liste (non exhaustive) : </p>
<ul>
<li>IonCube: http://www.ioncube.com/sa_encoder.php</li>
<li>Zend Platform: http://www.zend.com/en/products/platform/</li>
<li>XCache: http://xcache.lighttpd.net/</li>
<li>APC: http://pecl.php.net/packages/APC</li>
<li>EAccelerator: http://www.eaccelerator.net/</li>
</ul>
<p>Nous nous intéresserons ici à eAccelerator.<br />
Attention toutefois, eAccelerator ne fonctionne pas si PHP est CGI, il est seulement utilisable avec mod_php ou PHP en FastCGI.</p>
<p>On commence par récupérer la dernière version : </p>
<pre class="brush: plain">
cd /usr/src
wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2
tar -xf eaccelerator-0.9.6.tar.bz2
cd eaccelerator-0.9.6
</pre>
<p>Ensuite il nous faut compiler les sources, donc dans le dossier entrez les commandes suivantes : </p>
<pre class="brush: plain">
phpize
./configure
make
</pre>
<p>Si le programme <em>phpize</em> n&#8217;est pas trouvé, il faut le télécharger : </p>
<pre class="brush: plain">
sudo apt-get install php5-dev
</pre>
<p>Si tout s&#8217;est bien passé, on lance l&#8217;installation : </p>
<pre class="brush: plain">
make install
</pre>
<p>Il nous faut maintenant configurer PHP pour qu&#8217;il charge l&#8217;extension, on modifie donc le fichier <em>/etc/php5/conf.d/eaccelerator.ini</em> :</p>
<pre class="brush: plain">
zend_extension="/usr/lib/php4/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
</pre>
<p>Enfin on créé le dossier dans lequel eAccelerator va stocker son cache : </p>
<pre class="brush: plain">
mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator
</pre>
<p>Enfin on vérifie que tout fonctionne bien : </p>
<pre class="brush: plain">
/etc/init.d/apache2 reload
php5 -v
...
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    with eAccelerator v0.9.6, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
...
</pre>
<p>Et voilà votre installation de PHP est maintenant plus rapide et plus stable.<br />
J&#8217;expliquerais prochainement comment mettre en place très simplement un reverse proxy afin de soulager le serveur Web.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yriase.fr/602-accelerer-et-optimiser-son-intallation-php-avec-eaccelerator.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

