<?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>Debian or not to be ? 2.0 &#187; php</title> <atom:link href="http://www.crashdump.fr/tag/php/feed/" rel="self" type="application/rss+xml" /><link>http://www.crashdump.fr</link> <description>that is the question</description> <lastBuildDate>Mon, 23 Jan 2012 13:14:39 +0000</lastBuildDate> <language>fr</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <item><title>Bugfix: Roundcube quitte immédiatement après le login</title><link>http://www.crashdump.fr/tout-et-rien/bugfix-roundcube-quitte-immediatement-apres-le-login-804/</link> <comments>http://www.crashdump.fr/tout-et-rien/bugfix-roundcube-quitte-immediatement-apres-le-login-804/#comments</comments> <pubDate>Wed, 21 Apr 2010 12:50:55 +0000</pubDate> <dc:creator>Crashdump</dc:creator> <category><![CDATA[Tout-et-Rien]]></category> <category><![CDATA[bug]]></category> <category><![CDATA[php]]></category> <category><![CDATA[roundcube]]></category> <category><![CDATA[solution]]></category> <category><![CDATA[suhosin]]></category><guid isPermaLink="false">http://www.crashdump.fr/?p=804</guid> <description><![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2010/04/roundcube.jpg" class="attachment-featured-image wp-post-image" alt="roundcube" title="roundcube" /></p><br />Certains l&#8217;on peut être remarqué, le serveur de crashdump.fr à migré et avec un nouveau setup super sexy: MySQL / NGINX / PHP FastCGI / XCache / Memcached: et donc un billet à venir sur l&#8217;installation de la chose dans les moindres détails. Ceci dit, comme toute nouvelle installation, parfois on se heurte à des [...]]]></description> <content:encoded><![CDATA[<p><img width="240" height="150" src="http://www.crashdump.fr/wp-content/uploads/2010/04/roundcube.jpg" class="attachment-featured-image wp-post-image" alt="roundcube" title="roundcube" /></p><br /><p><em>Certains l&#8217;on peut être remarqué, le serveur de crashdump.fr à migré et avec un nouveau setup super sexy: MySQL / NGINX / PHP FastCGI / XCache / Memcached: et donc un billet à venir sur l&#8217;installation de la chose dans les moindres détails. Ceci dit, comme toute nouvelle installation, parfois on se heurte à des bugs&#8230; pas évidents à résoudre, j&#8217;en ai fait les frais cet après-midi !</em></p><p>Roundcube c&#8217;est un webmail super sympa et vraiment bien fichu.. mais je viens de passer deux heures à essayer de régler un bug plutôt gênant: juste après l&#8217;authentification le script me jetai à la porte, comme un malpropre et sans message d&#8217;erreur !</p><p>Pour vous la faire courte, c&#8217;est Suhosin qui <del>foutait sa merde</del> est incompatible. Pour corriger le problème il faut modifier son php.ini pour y définir:</p><div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">&#91;</span>suhosin<span style="color: #7a0874; font-weight: bold;">&#93;</span><br /> suhosin.session.encrypt = Off</div></td></tr></tbody></table></div><p>(avec Apache, il est possible de passer par un .htaccess, ce qui limitera la modification au répertoire de roundcube).</p> ]]></content:encoded> <wfw:commentRss>http://www.crashdump.fr/tout-et-rien/bugfix-roundcube-quitte-immediatement-apres-le-login-804/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Optimiser votre base de donnée mysql ?</title><link>http://www.crashdump.fr/coding/optimiser-votre-base-de-donnee-mysql-131/</link> <comments>http://www.crashdump.fr/coding/optimiser-votre-base-de-donnee-mysql-131/#comments</comments> <pubDate>Fri, 09 May 2008 16:36:15 +0000</pubDate> <dc:creator>Crashdump</dc:creator> <category><![CDATA[Code]]></category> <category><![CDATA[mysql]]></category> <category><![CDATA[optimisation]]></category> <category><![CDATA[php]]></category> <category><![CDATA[script]]></category> <category><![CDATA[tables]]></category><guid isPermaLink="false">http://blog.crashdump.fr/?p=131</guid> <description><![CDATA[Nous allons voir ici ce qu&#8217;est l&#8217;optimisation d&#8217;une BDD Mysql (MyISAM). Je vous fourni même a la fin, un petit bout de code en php pour réaliser cette optimisation régulierement.. :) C&#8217;est quoi ? Le type de table par défaut de MySQL est MyISAM (Table non transactionnelle: une base de type non transactionnelle lorsqu&#8217;une erreur [...]]]></description> <content:encoded><![CDATA[<p><em>Nous allons voir ici ce qu&#8217;est l&#8217;optimisation d&#8217;une BDD Mysql (MyISAM). Je vous fourni même a la fin, un petit bout de code en php pour réaliser cette optimisation régulierement.. :)</em></p><h2><li>C&#8217;est quoi ?</li></h2><p>Le type de table par défaut de MySQL est MyISAM (Table non transactionnelle: une base de type non transactionnelle lorsqu&#8217;une erreur se produit, exécute tout ce qui se trouvait avant l&#8217;erreur a l&#8217;inverse de la table transactionnelle). Un système très performant, oui, mais qui laisse parfois a désirer quand a la fragmentation &#8211; il lui arrive de laisser trainer des morceaux a droite et a gauche. Oui, ils sont infimes et peut nombreux.. n&#8217;empêche qu&#8217;a force de requêtes (suppression, modification &#8230;), il reste des fois des &laquo;&nbsp;débris&nbsp;&raquo; de donnée qui trainent par ci par là dans la table.</p><p>Il faut donc ranger tout ça parfois ! Inutile de le faire tous les jours, sauf bien sur si votre site a un trafic incroyablement développé.. Personnellement je l&#8217;effectue toutes les semaines.</p><h2><li>Ok, on fait comment ?</li></h2><p>Bêtement en executant cette instruction mysql:<span id="more-131"></span></p><div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&gt; OPTIMIZE TABLE `unetable`, `uneautretable`</div></td></tr></tbody></table></div><p>La je suppose que vous vous demandez combien de temps cela va prendre de taper les instructions pour vos 30 tables.. j&#8217;ai eu la même réaction. Voici donc, pour vous mon script d&#8217;optimisation en php:</p><div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:450px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?php<br /> $link = mysql_connect('localhost', 'root', 'motdepasse');<br /> ?&gt;<br /> &lt;html&gt;<br /> Selectionnez la base a optimiser:<br /> &lt;form action=&quot;#&quot; method=&quot;post&quot;&gt;<br /> &lt;select name=&quot;base&quot;&gt;<br /> &lt;?php<br /> $db_list = mysql_list_dbs($link);<br /> while ($row = mysql_fetch_object($db_list))<br /> {<br /> &nbsp; &nbsp; &nbsp; &nbsp; echo '&lt;option value=&quot;'.$row-&gt;Database.'&quot;&gt;'.$row-&gt;Database.'&lt;/option&gt;';<br /> }<br /> ?&gt;<br /> &lt;/select&gt;<br /> &lt;input type=&quot;submit&quot; value=&quot;Envoyer&quot;&gt;<br /> &lt;/form&gt;<br /> &lt;?php<br /> if(isset($_POST[&quot;base&quot;]))<br /> {<br /> &nbsp; &nbsp; &nbsp; &nbsp; $table = mysql_list_tables($_POST[&quot;base&quot;]);<br /> &nbsp; &nbsp; &nbsp; &nbsp; //on prépare la requête<br /> &nbsp; &nbsp; &nbsp; &nbsp; $sql = &quot;OPTIMIZE TABLE &quot;;<br /> &nbsp; &nbsp; &nbsp; &nbsp; //on recherche toutes les données des tables<br /> &nbsp; &nbsp; &nbsp; &nbsp; $req = mysql_query('SHOW TABLE STATUS');<br /> &nbsp; &nbsp; &nbsp; &nbsp; while($data = mysql_fetch_assoc($req))<br /> &nbsp; &nbsp; &nbsp; &nbsp; {<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //on regarde seulement les tables qui affichent des pertes<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if($data['Data_free'] &gt; 0)<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //et on l'inclut si elle comporte des pertes<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $sql .= '`'.$data['Name'].'`, ';<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br /> &nbsp; &nbsp; &nbsp; &nbsp; }<br /> &nbsp; &nbsp; &nbsp; &nbsp; //on enlève le ', ' de trop<br /> &nbsp; &nbsp; &nbsp; &nbsp; $sql = substr($sql, 0, (strlen($sql)-2));<br /> &nbsp; &nbsp; &nbsp; &nbsp; //et on optimise<br /> &nbsp; &nbsp; &nbsp; &nbsp; mysql_query($sql);<br /> &nbsp; &nbsp; &nbsp; &nbsp; echo 'Optimisation de '.$_POST[&quot;base&quot;].' terminée..';<br /> &nbsp; &nbsp; &nbsp; &nbsp; mysql_close();<br /> }<br /> ?&gt;<br /> &lt;/html&gt;</div></td></tr></tbody></table></div><p>Bonne optimisation ;)</p> ]]></content:encoded> <wfw:commentRss>http://www.crashdump.fr/coding/optimiser-votre-base-de-donnee-mysql-131/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Apache 2.x &amp; Php 5 &amp; MySql</title><link>http://www.crashdump.fr/tout-et-rien/apache-2x-php-mysql-4/</link> <comments>http://www.crashdump.fr/tout-et-rien/apache-2x-php-mysql-4/#comments</comments> <pubDate>Mon, 19 Mar 2007 10:06:04 +0000</pubDate> <dc:creator>Crashdump</dc:creator> <category><![CDATA[Tout-et-Rien]]></category> <category><![CDATA[Apache]]></category> <category><![CDATA[mysql]]></category> <category><![CDATA[php]]></category> <category><![CDATA[Tuto]]></category><guid isPermaLink="false">http://blog.aemeth.org/?p=4</guid> <description><![CDATA[Apache Installation: 1apt-get install apache2 Ensuite, lancez votre naviguateur favori, pointez sur l&#8217;ip (ou le domaine) de votre serveur, vous devriez arriver sur une page par défaut de Apache.. rien de plus compliqué ! Les fichiers de configuration de Apache se trouvent dans &#171;&#160;/etc/apache2/&#160;&#187; * apache2.conf le fichier de config principal de apache, vous trouverez [...]]]></description> <content:encoded><![CDATA[<h2><li>Apache</li></h2><p><strong>Installation:</strong></p><div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">apt-get install apache2</div></td></tr></tbody></table></div><p>Ensuite, lancez votre naviguateur favori, pointez sur l&#8217;ip (ou le domaine) de votre serveur, vous devriez arriver sur une page par défaut de Apache.. rien de plus compliqué !<br /> Les fichiers de configuration de Apache se trouvent dans &laquo;&nbsp;<em>/etc/apache2/</em>&nbsp;&raquo;<br /> * apache2.conf le fichier de config principal de apache, vous trouverez ici tous ce qu&#8217;il faut pour configurer votre serveur, de plus tout est très bien commenté.<br /> * sites-availables/ les fichiers de conf de sites disponibles.. mais ne sont pas pris en compte par apache.<br /> * sites-enables/ liens vers des fichiers de conf du repertoire du dessus, ceux la sont pris en compte par apache.</p><p>si vous avez besoin de plus d&#8217;aide:</p><div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">apt-get install apache2-doc</div></td></tr></tbody></table></div><h2><li>MySQL</li></h2><p><strong>Installation: </strong></p><div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">apt-get install mysql-server-5</div></td></tr></tbody></table></div><p><span id="more-4"></span><br /> C&#8217;est installé, il vous reste a définir le MDP root pour la BDD, rien de plus simple:</p><div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql -u root</div></td></tr></tbody></table></div><p>puis,</p><div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql&gt; USE mysql;<br /> mysql&gt; UPDATE user<br /> &nbsp; &nbsp; -&gt; SET password = PASSWORD('IciVotreMotDePasse')<br /> &nbsp; &nbsp; -&gt; WHERE user = 'root';<br /> mysql&gt; flush privileges;<br /> mysql&gt; exit;</div></td></tr></tbody></table></div><p>Voila pour ce qui est de MySQL</p><h2><li>Php 5</li></h2><p>Installation:</p><div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">apt-get install libapache2-mod-php5 php5-mysql php5-gd</div></td></tr></tbody></table></div><p>* libapache2-mod-php5: librairies de Php pour Apache<br /> * php5-mysql: module permetant la communication entre Php et MySQL<br /> * php5-gd: Une librairie qui permet la generation d&#8217;images a la volée, indispensable ;)<br /> il en existe enormement d&#8217;autre.. tapez donc ceci dans votre terminal, vous en aurez la liste:</p><div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">apt-cache search php5</div></td></tr></tbody></table></div><h2><li>PhpMyAdmin</li></h2><p>Installation:</p><div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">apt-get install phpmyadmin</div></td></tr></tbody></table></div><p>Puis pointez votre naviguateur préféré vers http://IpDeVotreServeur/phpmyadmin/ et logguez vous en tant que root, avec le MDP défini précédement.</p> ]]></content:encoded> <wfw:commentRss>http://www.crashdump.fr/tout-et-rien/apache-2x-php-mysql-4/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
<!-- Served from: www.crashdump.fr @ 2012-02-04 18:21:06 by W3 Total Cache -->
