<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Wild PHP</title>
	<atom:link href="http://wildphp.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://wildphp.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Thu, 09 Jul 2009 13:56:21 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='wildphp.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Wild PHP</title>
		<link>http://wildphp.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://wildphp.wordpress.com/osd.xml" title="Wild PHP" />
	<atom:link rel='hub' href='http://wildphp.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Enfin certifié !</title>
		<link>http://wildphp.wordpress.com/2009/01/17/enfin-certifie/</link>
		<comments>http://wildphp.wordpress.com/2009/01/17/enfin-certifie/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 08:32:56 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wildphp.wordpress.com/?p=26</guid>
		<description><![CDATA[Je viens de passer avec succès la certification Zend Framework. Au final, sur 75 questions, seulement 1/3 m&#8217;ont posées problème et après relecture plus que 2 ou 3 sur lesquelles je n&#8217;arrivais pas à me prononcer. Cela ne m&#8217;a pas empêché de faire des erreurs (j&#8217;ai vérifié par la suite) mais je l&#8217;ai eu au [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wildphp.wordpress.com&amp;blog=6006649&amp;post=26&amp;subd=wildphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Je viens de passer avec succès la certification <strong>Zend Framework</strong>.</p>
<p>Au final, sur 75 questions, seulement 1/3 m&#8217;ont posées problème et après relecture plus que 2 ou 3 sur lesquelles je n&#8217;arrivais pas à me prononcer. Cela ne m&#8217;a pas empêché de faire des erreurs (j&#8217;ai vérifié par la suite) mais je l&#8217;ai eu au final <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Je fait donc partie des <a href="http://www.zend.com/en/yellow-pages#list-cid=76&amp;firstname=&amp;lastname=&amp;orderby=name&amp;sid=XX&amp;company=&amp;photo_first=&amp;certtype=ZF&amp;ClientCandidateID=">5 premiers certifiés français !</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wildphp.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wildphp.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wildphp.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wildphp.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wildphp.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wildphp.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wildphp.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wildphp.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wildphp.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wildphp.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wildphp.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wildphp.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wildphp.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wildphp.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wildphp.wordpress.com&amp;blog=6006649&amp;post=26&amp;subd=wildphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wildphp.wordpress.com/2009/01/17/enfin-certifie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98b82fc32b85a69110500b0acbe2f45f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eric</media:title>
		</media:content>
	</item>
		<item>
		<title>Compiler une extension PHP (Zend Core) sous Windows</title>
		<link>http://wildphp.wordpress.com/2008/02/17/compiler-une-extension-php-zend-core-sous-windows/</link>
		<comments>http://wildphp.wordpress.com/2008/02/17/compiler-une-extension-php-zend-core-sous-windows/#comments</comments>
		<pubDate>Sun, 17 Feb 2008 14:17:59 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Visual Studio Express 2008]]></category>
		<category><![CDATA[Zend Core]]></category>

		<guid isPermaLink="false">http://wildphp.net/2008/02/17/compiler-une-extension-php-pour-zend-core-sous-windows-avec-visual-studio-express-2008/</guid>
		<description><![CDATA[Le téléchargement d'extensions pré-compilées pour PHP peut ne pas être suffisant :

Librairies obsolètes, besoin particulier, expérimentation ou tout simplement l'envie de créer sa propre extension sont autant de raisons qui peuvent vous amener à vouloir compiler votre propre extension.

Le plus dur, sous Windows, étant de démarrer, voici un petit guide pour vous y aider.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wildphp.wordpress.com&amp;blog=6006649&amp;post=18&amp;subd=wildphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Le téléchargement d&#8217;extensions pré-compilées pour PHP peut ne pas être suffisant :</p>
<p>Librairies obsolètes, besoin particulier, expérimentation ou tout simplement <a href="http://fr.php.net/manual/fr/internals2.php">l&#8217;envie de créer sa propre extension</a> sont autant de raisons qui peuvent vous amener à vouloir compiler votre propre extension.</p>
<p>Le plus dur, sous Windows, étant de démarrer, voici un petit guide pour vous y aider.</p>
<h2>Téléchargement nécessaires</h2>
<p>Voici les étapes :</p>
<ul>
<li>Installer si ce n&#8217;est pas déja fait Visual Studio C++ Express Edition 2008</li>
<li>Télécharger le <a href="http://files.edin.dk/php/win32/zip.zip">pack de librairies pour Windows</a> sur le site d&#8217;Edin Kadribašić</li>
<li>Télécharger PHP en version source et en version binaire sur <a href="http://www.php.net/downloads.php">le site PHP.net</a>
<ul>
<li><strong> Attention :</strong> les deux versions devront être de version identique (je le dit &#8230; on sait jamais <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</li>
</ul>
<ul>
<li><strong>Attention (bis) :</strong> Pour Zend Core, la version binaire doit être une version <strong>NTS</strong>!</li>
</ul>
</li>
<li> Une extension existante pour tester la compilation, par exemple <a href="http://pecl.php.net/package/win32ps">win32ps</a></li>
</ul>
<p>Voici une arborescence type que je prendrais en référence pour la suite :</p>
<div id="attachment_37" class="wp-caption alignnone" style="width: 211px"><img class="size-full wp-image-37" title="05-Layout-Build" src="http://wildphp.files.wordpress.com/2008/02/05-layout-build.png?w=201&#038;h=477" alt="Build layout" width="201" height="477" /><p class="wp-caption-text">Build layout</p></div>
<p>Pour résumer, un répertoire Build à la racine du lecteur D dans lequel je place trois répertoires :</p>
<ol>
<li>bin/ pour la version binaire de PHP</li>
<li>php_build/ extrait du pack de librairies d&#8217;Edin Kadribašić</li>
<li>src/php-5.2.5 dans lequel je met les sources de PHP et de l&#8217;extension à compiler</li>
<li>src/win32ps-1.0.1 l&#8217;extension à compiler (cf. plus loin)</li>
</ol>
<h2>Configuration de VS C++</h2>
<p>La première chose à faire et de configurer les répertoires par défaut de VS C++ pour ajouter les fichiers téléchargés (Outils &gt;&gt; Options, puis  Projets et Solutions &gt;&gt; Répertoires de VC++).</p>
<p><img class="alignnone size-full wp-image-40" title="10-Options-Projets-et-Solutions-Repertoire-de-VC++-01-Executables" src="http://wildphp.files.wordpress.com/2008/02/10-options-projets-et-solutions-repertoire-de-vc-01-executables.png?w=644&#038;h=411" alt="10-Options-Projets-et-Solutions-Repertoire-de-VC++-01-Executables" width="644" height="411" /></p>
<p><img class="alignnone size-full wp-image-41" title="10-Options-Projets-et-Solutions-Repertoire-de-VC++-02-Includes" src="http://wildphp.files.wordpress.com/2008/02/10-options-projets-et-solutions-repertoire-de-vc-02-includes.png?w=644&#038;h=411" alt="10-Options-Projets-et-Solutions-Repertoire-de-VC++-02-Includes" width="644" height="411" /></p>
<p><img class="alignnone size-full wp-image-39" title="10-Options-Projets-et-Solutions-Repertoire-de-VC++-03-Librairies" src="http://wildphp.files.wordpress.com/2008/02/10-options-projets-et-solutions-repertoire-de-vc-03-librairies.png?w=644&#038;h=411" alt="10-Options-Projets-et-Solutions-Repertoire-de-VC++-03-Librairies" width="644" height="411" /></p>
<p>D&#8217;autres méthodes sont possibles, comme spécifier dans chaque projet ces chemins, mais cela oblige à le faire pour chaque projet et cela ne vous permet pas de modifier le layout sans avoir à mettre à jour tous vos projets. Personnellement je ne compile que pour PHP donc cela ne me pose pas de problèmes.</p>
<h2>Chargement d&#8217;un projet existant (win32ps)</h2>
<p>Nous allons prendre comme exemple win32ps, qui exporte des <a href="http://fr.php.net/manual/fr/ref.win32ps.php">fonctions pour lister les processus</a> qui tournent sur votre machine.</p>
<p>Séléctionnez le traditionnel <em>Fichier &gt;&gt; Ouvrir &gt;&gt; Projet/Solution&#8230;</em></p>
<p><img class="alignnone size-full wp-image-56" title="20-Ouvrir-Projet-Solution" src="http://wildphp.files.wordpress.com/2008/02/20-ouvrir-projet-solution.png?w=513&#038;h=357" alt="20-Ouvrir-Projet-Solution" width="513" height="357" /></p>
<p>Dans le cas de de win32ps et de beaucoup d&#8217;extensions PECL vous devrez passez par la conversion du fichier dsp (Visual Studio C++ 6 &#8211; L&#8217;environnement de compilation utilisé pour PHP, mais payant), ouvrez donc le fichier win32ps.dsp</p>
<p><img class="alignnone size-full wp-image-43" title="30-Convertion-VC++" src="http://wildphp.files.wordpress.com/2008/02/30-convertion-vc.png?w=366&#038;h=179" alt="30-Convertion-VC++" width="366" height="179" /></p>
<p><img class="alignnone size-full wp-image-44" title="40-win32ps-ouvert" src="http://wildphp.files.wordpress.com/2008/02/40-win32ps-ouvert.png?w=640&#038;h=420" alt="40-win32ps-ouvert" width="640" height="420" /></p>
<h3>Configuration du projet</h3>
<p>Cliquez-droit sur le nom du projet puis sélectionnez <em>Propriétés</em>. A partir de cette interface vous avez accès à l&#8217;ensemble des paramètres de génération du projet.</p>
<p><img class="alignnone size-full wp-image-45" title="50-win32ps-config-1" src="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-1.png?w=329&#038;h=481" alt="50-win32ps-config-1" width="329" height="481" /></p>
<p><img class="alignnone size-full wp-image-46" title="50-win32ps-config-1-open" src="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-1-open.png?w=749&#038;h=514" alt="50-win32ps-config-1-open" width="749" height="514" /></p>
<p>La première chose à faire et de créer une nouvelle configuration pour notre extension. Une configuration regroupe des paramètres de compilation.</p>
<p>Cliquez sur  <em>Gestionnaire de configurations&#8230;</em> puis choisissez <em>&lt;Nouveau&#8230;&gt;</em></p>
<p><img class="alignnone size-full wp-image-47" title="50-win32ps-config-2-nouvelle-config" src="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-2-nouvelle-config.png?w=606&#038;h=381" alt="50-win32ps-config-2-nouvelle-config" width="606" height="381" /></p>
<p>Habituellement les deux configurations, Release et Debug, sont créées automatiquement pour tout projet Windows. Avec PHP les configuration basique s&#8217;appellent Release_TS et Debug_TS (TS pour Thread Safe). Dans notre cas l&#8217;extension sera Non-Thread Safe, donnez lui donc le nom de <em>Release</em>.</p>
<p><img class="alignnone size-full wp-image-48" title="50-win32ps-config-3-nouvelle-config-name" src="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-3-nouvelle-config-name.png?w=366&#038;h=192" alt="50-win32ps-config-3-nouvelle-config-name" width="366" height="192" /></p>
<p>Première chose à modifier, les directives du préprocesseur. Il faut <strong>enlever</strong> la directive ZTS (Zend Thread Safe). Ce paramètre défini si PHP sera compilé avec l&#8217;option Thread Safe. Sans cette extension l&#8217;exécution sera plus rapide mais cela interdit l&#8217;utilisation de la librairies avec un programme multi threadés.</p>
<p><img class="alignnone size-full wp-image-49" title="50-win32ps-config-4-pre-processeur" src="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-4-pre-processeur.png?w=750&#038;h=535" alt="50-win32ps-config-4-pre-processeur" width="750" height="535" /></p>
<p>Nous devons ensuite Modifier le répertoire de sortie. Par défaut il est situé deux niveaux au dessus car l&#8217;extension peut être compilée dans le répertoire ext des sources de PHP ce qui permet d&#8217;avoir l&#8217;ensemble des extensions au même endroit.</p>
<p><img class="alignnone size-full wp-image-50" title="50-win32ps-config-5-editeur-liens" src="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-5-editeur-liens.png?w=749&#038;h=514" alt="50-win32ps-config-5-editeur-liens" width="749" height="514" /></p>
<p>Plus important, il faut préciser la librairie PHP avec laquelle <strong><em>lier</em></strong> notre extension. Il existe deux versions pour php5 : php5ts.lib et php5.lib &#8211; je vous laisse deviner la différence!</p>
<p><img class="alignnone size-full wp-image-51" title="50-win32ps-config-6-editeur-liens" src="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-6-editeur-liens.png?w=749&#038;h=514" alt="50-win32ps-config-6-editeur-liens" width="749" height="514" /></p>
<h3>Modification des sources</h3>
<p>Afin de permettre de compiler les extensions existantes vous devrez ajouter la ligne suivante aux sources de votre extension :</p>
<p><img class="alignnone size-full wp-image-52" title="60-win32ps-config.w32.h" src="http://wildphp.files.wordpress.com/2008/02/60-win32ps-config-w32-h.png?w=504&#038;h=99" alt="60-win32ps-config.w32.h" width="504" height="99" /></p>
<p>Cela permet de définir les constantes nécessaires pour permettre la compilation de l&#8217;extension PHP.</p>
<h3>Compilation</h3>
<p>Vous n&#8217;avez plus qu&#8217;à  compiler l&#8217;extension en choisissant <em>Générer &gt;&gt; Générer win32ps</em></p>
<p><strong>Note :</strong> Visual Studio vous proposera de sauver le fichier win32ps.sln qui est le fichier de projet des version récentes de Visual Studio</p>
<p><img class="alignnone size-full wp-image-53" title="70-win32ps-generation" src="http://wildphp.files.wordpress.com/2008/02/70-win32ps-generation.png?w=459&#038;h=383" alt="70-win32ps-generation" width="459" height="383" /></p>
<p>Quelques warnings (sans conséquences) plus tard vous devez avoir un fichier win32ps.dll dans le répertoire Release de l&#8217;extension.</p>
<h3>Installation</h3>
<p>Mon conseil sera de créer un répértoire <em>build</em> dans le répertoire d&#8217;extensions de PHP. Cela vous permettra de différencier les extensions natives de celles que vous aurez compilé.</p>
<ul>
<li>Copiez donc le fichier php_win32ps.dll dans le répertoire extensions/build</li>
<li>Modifiez votre fichier php.ini pour ajouter la ligne :
<ul>
<li><em>extension=build/php_win32ps.dll</em></li>
</ul>
</li>
<li><em>Et voila !</em> Votre extension est prête à l&#8217;emploi.</li>
</ul>
<h3>Tests</h3>
<ul>
<li>Vérifiez que votre extension est chargée en utilisant la commande : <em>php -m</em></li>
</ul>
<p><img class="alignnone size-full wp-image-54" title="80-win32ps-test-1-php-m" src="http://wildphp.files.wordpress.com/2008/02/80-win32ps-test-1-php-m.png?w=183&#038;h=209" alt="80-win32ps-test-1-php-m" width="183" height="209" /></p>
<ul>
<li>Vous pouvez aussi vérifier le phpinfo à partir de la console Zend Core</li>
</ul>
<p><img class="alignnone size-full wp-image-55" title="80-win32ps-test-2-phpinfo" src="http://wildphp.files.wordpress.com/2008/02/80-win32ps-test-2-phpinfo.png?w=771&#038;h=403" alt="80-win32ps-test-2-phpinfo" width="771" height="403" /></p>
<h2>Création d&#8217;un nouveau projet</h2>
<p>Je ne vais pas refaire l&#8217;article de <a href="http://www.talkphp.com/vbarticles.php?do=article&amp;articleid=49&amp;title=creating-custom-php-extensions">TalkPHP</a>, juste quelques précisions :</p>
<ul>
<li>Toujours en C (pas d&#8217;utilisation de syntaxe C++ + /TC)</li>
<li>Ne pas utiliser les entêtes pré-compilés (StdAfx.h/StdAfx.c)</li>
<li>La définition de DllMain est facultative</li>
<li>Toujours inclure le fichier zend_config.w32.h avant tout autre fichier des sources de PHP (ex: php.h)</li>
</ul>
<h2>Références</h2>
<ul>
<li>La base de cet  article : <a href="http://www.talkphp.com/vbarticles.php?do=article&amp;articleid=49&amp;title=creating-custom-php-extensions">Creating a PHP Extension for Windows using Microsoft Visual C++ 2008</a></li>
<li>Un HOW-TO de <a href="http://elizabethmariesmith.com/2006/11/how-to-compile-php52-and-php-gtk2-on-windows-using-visual-c-express/">Elizabeth Marie Smith</a></li>
<li>Le projet <a href="http://perisama.net/">perisama</a> qui propose des binaires pré compilés pour les différentes version des compilateurs Microsoft, ainsi qu&#8217;une série de slides qui traite des <a href="http://perisama.net/php-on-windows.pdf">problématiques de compilation sous Windows</a> (un must read !!)</li>
</ul>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wildphp.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wildphp.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wildphp.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wildphp.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wildphp.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wildphp.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wildphp.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wildphp.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wildphp.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wildphp.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wildphp.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wildphp.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wildphp.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wildphp.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wildphp.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wildphp.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wildphp.wordpress.com&amp;blog=6006649&amp;post=18&amp;subd=wildphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wildphp.wordpress.com/2008/02/17/compiler-une-extension-php-zend-core-sous-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98b82fc32b85a69110500b0acbe2f45f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eric</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/05-layout-build.png" medium="image">
			<media:title type="html">05-Layout-Build</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/10-options-projets-et-solutions-repertoire-de-vc-01-executables.png" medium="image">
			<media:title type="html">10-Options-Projets-et-Solutions-Repertoire-de-VC++-01-Executables</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/10-options-projets-et-solutions-repertoire-de-vc-02-includes.png" medium="image">
			<media:title type="html">10-Options-Projets-et-Solutions-Repertoire-de-VC++-02-Includes</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/10-options-projets-et-solutions-repertoire-de-vc-03-librairies.png" medium="image">
			<media:title type="html">10-Options-Projets-et-Solutions-Repertoire-de-VC++-03-Librairies</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/20-ouvrir-projet-solution.png" medium="image">
			<media:title type="html">20-Ouvrir-Projet-Solution</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/30-convertion-vc.png" medium="image">
			<media:title type="html">30-Convertion-VC++</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/40-win32ps-ouvert.png" medium="image">
			<media:title type="html">40-win32ps-ouvert</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-1.png" medium="image">
			<media:title type="html">50-win32ps-config-1</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-1-open.png" medium="image">
			<media:title type="html">50-win32ps-config-1-open</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-2-nouvelle-config.png" medium="image">
			<media:title type="html">50-win32ps-config-2-nouvelle-config</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-3-nouvelle-config-name.png" medium="image">
			<media:title type="html">50-win32ps-config-3-nouvelle-config-name</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-4-pre-processeur.png" medium="image">
			<media:title type="html">50-win32ps-config-4-pre-processeur</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-5-editeur-liens.png" medium="image">
			<media:title type="html">50-win32ps-config-5-editeur-liens</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/50-win32ps-config-6-editeur-liens.png" medium="image">
			<media:title type="html">50-win32ps-config-6-editeur-liens</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/60-win32ps-config-w32-h.png" medium="image">
			<media:title type="html">60-win32ps-config.w32.h</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/70-win32ps-generation.png" medium="image">
			<media:title type="html">70-win32ps-generation</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/80-win32ps-test-1-php-m.png" medium="image">
			<media:title type="html">80-win32ps-test-1-php-m</media:title>
		</media:content>

		<media:content url="http://wildphp.files.wordpress.com/2008/02/80-win32ps-test-2-phpinfo.png" medium="image">
			<media:title type="html">80-win32ps-test-2-phpinfo</media:title>
		</media:content>
	</item>
		<item>
		<title>Zend Core ?</title>
		<link>http://wildphp.wordpress.com/2008/02/14/zend-core/</link>
		<comments>http://wildphp.wordpress.com/2008/02/14/zend-core/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 09:44:38 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Zend Core]]></category>

		<guid isPermaLink="false">http://wildphp.net/2008/02/14/zend-core/</guid>
		<description><![CDATA[Zend Core permet d&#8217;installer un paquage PHP complet allant du serveur Web à la base de donnée. L&#8217;intérêt principal de cette distribution et d&#8217;être production-ready : PHP est configuré avec les valeurs recommandées (sécurité, performances) pas les valeurs par defaut (souvent gardées pour compatibilité) Les extensions installées sont certifiée par une QA additonnelle réalisée par [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wildphp.wordpress.com&amp;blog=6006649&amp;post=17&amp;subd=wildphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zend.com/products/core/">Zend Core</a> permet d&#8217;installer un paquage PHP complet allant du serveur Web à la base de donnée. L&#8217;intérêt principal de cette distribution et d&#8217;être production-ready :</p>
<ul>
<li>PHP est configuré avec les valeurs recommandées (sécurité, performances) pas les valeurs par defaut (souvent gardées pour compatibilité)</li>
<li>Les extensions installées sont certifiée par une QA additonnelle réalisée par les équipes de Zend &#8211; important sous Windows : peu monde compile les pré versions sur cette plateforme</li>
<li>Certains connecteurs (natifs et PDO) sont certifiés par des petits éditeurs qui débutent : Oracle et IBM/DB2</li>
<li>L&#8217;installeur permet d&#8217;installer MySQL (évidement !) mais aussi Oracle (<a href="http://www.oracle.com/technology/xe/index.html">Express Edition</a>) et DB2 (<a href="http://www-306.ibm.com/software/fr/db2/db2express-c/">Express-c</a>)</li>
<li>Last but not least : c&#8217;est gratuit !</li>
</ul>
<p>Vu qu&#8217;il faut bien gagner sa vie, une offre de support permet de garder PHP à jour à l&#8217;aide d&#8217;un utilitaire de mise à jour graphique.</p>
<p>Un des inconvénients avec Zend Core cependant, c&#8217;est que l&#8217;ensemble des extensions disponibles sur le package php.net n&#8217;est pas disponible sur Zend Core. Ceci car toutes les extensions n&#8217;ont pas étée intégrées au système de QA Zend.</p>
<p>Dans ce cas il ne vous reste plus qu&#8217;a trouver un moyen de récupérer l&#8217;extension :</p>
<ul>
<li> <strong>Linux</strong> : le moyen les plus fiable et de compiler l&#8217;extension, un utilitaire PHP intégré à Zend Core (bin/phpize) permet de préparer une extension à être compilée. Jon Coggeshall à fait un <a href="http://blog.coggeshall.org/archives/347-Compiling-extensions-for-Zend-Core.html">excellent tutoriel</a> sur le sujet.</li>
</ul>
<ul>
<li><strong>Windows : </strong><a href="http://www.php.net/downloads.php">le site de téléchargement de php.net</a> permet de télécharger les extensions pré-compilées pour les versions <strong>NTS </strong>(Non-Thread-Safe)</li>
</ul>
<p>Attention cependant : Zend Core embarque une version NTS (Non-Thread-Safe)!</p>
<p>Les releases de php.net pour Windows sont souvent disponibles en version Thread Safe. Ceci car si php est installé en tant que module d&#8217;Apache sous Windows le serveur doit pouvoir utiliser des threads (<a href="http://httpd.apache.org/docs/2.0/mod/worker.html">MPM Worker</a>) ce qui est bien plus efficace sous Windows et qu&#8217;un paquet TS peux (évidemment?) fonctionner lorsque les threads ne sont pas utilisés (<a href="http://httpd.apache.org/docs/2.0/mod/prefork.html">MPM Prefork</a>).</p>
<p>Mais Zend Core prend une autre direction : PHP en tant que processus fast-cgi (pour Apache et IIS).</p>
<p>Ceci à l&#8217;avantage de tirer le meilleur d&#8217;Apache sur Windows (les threads sont très performants sur cette plateforme) et d&#8217;alléger PHP : en effet les routines internes à PHP effectuant la gestion des threads peuvent êtres désactivées (le fameux mode NTS donc).</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wildphp.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wildphp.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wildphp.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wildphp.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wildphp.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wildphp.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wildphp.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wildphp.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wildphp.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wildphp.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wildphp.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wildphp.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wildphp.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wildphp.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wildphp.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wildphp.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wildphp.wordpress.com&amp;blog=6006649&amp;post=17&amp;subd=wildphp&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wildphp.wordpress.com/2008/02/14/zend-core/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/98b82fc32b85a69110500b0acbe2f45f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Eric</media:title>
		</media:content>
	</item>
	</channel>
</rss>
