<?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>Tales from the Datacenter &#187; WordPress</title>
	<atom:link href="http://www.pburch.com/blog/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pburch.com/blog</link>
	<description>Tales from the Datacenter</description>
	<lastBuildDate>Tue, 03 Jan 2012 16:45:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>mail vs. wp_mail</title>
		<link>http://www.pburch.com/blog/2011/03/26/393/</link>
		<comments>http://www.pburch.com/blog/2011/03/26/393/#comments</comments>
		<pubDate>Sun, 27 Mar 2011 02:30:55 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[mail()]]></category>
		<category><![CDATA[wordpress mail]]></category>
		<category><![CDATA[wp mail smtp]]></category>
		<category><![CDATA[wp_mail()]]></category>

		<guid isPermaLink="false">http://www.pburch.com/blog/?p=393</guid>
		<description><![CDATA[I was working on my wife&#8217;s WordPress site tonight after she told me her contact form wasn&#8217;t working.  I had been using the SMTP settings in php.ini to handle email across all the websites I support.  But, I decided to stop using &#8230; <a href="http://www.pburch.com/blog/2011/03/26/393/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was working on my wife&#8217;s WordPress site tonight after she told me her contact form wasn&#8217;t working.  I had been using the SMTP settings in php.ini to handle email across all the websites I support.  But, I decided to stop using that because all emails were be coming from the same account, regardless of domain.</p>
<p>So, I started digging around and there is a plugin for WordPress called, aptly enough, <a href="http://www.callum-macdonald.com/code/wp-mail-smtp/" target="_blank">WP Mail SMTP</a>.  This plugin is great because it allows me to set SMTP settings for individual sites, and it intercepts wp_mail() calls and sends them with the SMTP settings you give it.</p>
<p>This turned out to be my problem.  The theme my wife uses has a built-in contact form, which was hard-coded to use mail() to send from the form.  This no longer worked for me after I removed the SMTP settings from php.ini &#8211; even with the WP Mail SMTP plugin.</p>
<p>I started looking around at what exactly wp_mail() required to function.  Here&#8217;s what the <a href="http://codex.wordpress.org/Function_Reference/wp_mail" target="_blank">WordPress Codex</a> says about what to pass it:</p>
<blockquote><p>wp_mail($to, $subject, $message, $headers, $attachments);</p></blockquote>
<p>Looks oddly like what the <a href="http://php.net/manual/en/function.mail.php" target="_blank">PHP Manual</a> says about mail():</p>
<blockquote><p>mail(<tt>$to</tt> , <tt>$subject</tt> , <tt>$message</tt>, <tt>$additional_headers</tt>, <tt>$additional_parameters</tt>);</p></blockquote>
<p>I tried changing the hard-coded mail() to wp_mail(), and there you go.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pburch.com/blog/2011/03/26/393/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wassup Returns</title>
		<link>http://www.pburch.com/blog/2009/06/15/wassup-returns/</link>
		<comments>http://www.pburch.com/blog/2009/06/15/wassup-returns/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 23:29:17 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[function gethost]]></category>
		<category><![CDATA[gethost]]></category>
		<category><![CDATA[gethostbyaddr]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wassup]]></category>
		<category><![CDATA[wassup.php]]></category>

		<guid isPermaLink="false">http://www.pburch.com/blog/?p=219</guid>
		<description><![CDATA[Back in March, when I was just switching to my, then, new IIS server, I had some issues with a plugin called Wassup.  More specifically, the plugin was causing some major performance issues and caused my blog to take several &#8230; <a href="http://www.pburch.com/blog/2009/06/15/wassup-returns/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Back in <a href="http://www.pburch.com/blog/2009/03/10/wassup/">March</a>, when I was just switching to my, then, new IIS server, I had some issues with a plugin called <a href="http://www.wpwp.org/">Wassup</a>.  More specifically, the plugin was causing some major performance issues and caused my blog to take several seconds to load.</p>
<p>Well, now three months later, they seem to have addressed this issue.  From a post on their support forum (quoting a member there named vlogoution):</p>
<blockquote><p>I had this problem too, and what&#8217;s causing it are the several calls made by Wassup to php&#8217;s gethostbyaddr function which does the host lookup. The problem is at its worst if the function can&#8217;t find the host name (ie. on a local LAN). To solve it, I basically changed every call to gethostbyaddr in wassup.php to call &#8220;gethost&#8221;, which I&#8217;ve included below. This still uses gethostbyaddr, but it caches the calls on each run with a local cache and by using memcached (if enabled and available with the object-cache.php dropin). Ideally, it would probably be better to code an nslookup (for windows) or host call for linux, but for now this is working for me just fine. Another way would be to cache/store the host lookups in the database for a period of time. Hopefully the author of Wassup will look to include this patch (or some even better variation) in a future release. I believe the poor performance of this one function call is holding back the high potential of this plugin.</p>
<p>(I placed the function just below the &#8220;global $wp_version;&#8221; statement in wassup.php:</p>
<p><code>function gethost($ip) {<br />
//much faster cached replacement for gethostbyaddr - <a rel="nofollow" href="http://us3.php.net/gethostbyaddr">http://us3.php.net/gethostbyaddr</a><br />
global $dns_cache;<br />
if ($dns_cache[$ip]) {<br />
return $dns_cache[$ip];<br />
} else {<br />
if (!$dns = wp_cache_get( $ip, 'dns', 216000 ) ) {<br />
$dns = gethostbyaddr($ip);<br />
wp_cache_add( $ip, $dns, 'dns', 216000 );<br />
}<br />
$dns_cache[$ip] = $dns;<br />
return $dns;<br />
}<br />
}</code></p></blockquote>
<p>And so it seems that they have implemented the patch (or some variation thereof) mentioned above to fix the issue.  I&#8217;m happy to report that I&#8217;m now running Wassup again (and am pretty happy about it).</p>
<p>Full <a href="http://www.wpwp.org/forums/topic/wassup-slows-blog-loading" target="_blank">post</a> in the support forum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pburch.com/blog/2009/06/15/wassup-returns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Upgrade</title>
		<link>http://www.pburch.com/blog/2009/06/11/wordpress-upgrade/</link>
		<comments>http://www.pburch.com/blog/2009/06/11/wordpress-upgrade/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 00:53:11 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[automatic upgrad]]></category>
		<category><![CDATA[update_core]]></category>
		<category><![CDATA[wordpress 2.7]]></category>
		<category><![CDATA[wordpress 2.8]]></category>
		<category><![CDATA[wordpress database]]></category>
		<category><![CDATA[wordpress upgrade]]></category>
		<category><![CDATA[wp_options]]></category>

		<guid isPermaLink="false">http://www.pburch.com/blog/?p=206</guid>
		<description><![CDATA[As anyone remotely familiar with WordPress 2.7 will know, 2.7 introduced a very cool feature: the automatic upgrade.  This is cool for a few reasons.  First and foremost, it prevents the blog owner from having to manually copy the new &#8230; <a href="http://www.pburch.com/blog/2009/06/11/wordpress-upgrade/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As anyone remotely familiar with WordPress 2.7 will know, 2.7 introduced a very cool feature: the automatic upgrade.  This is cool for a few reasons.  First and foremost, it prevents the blog owner from having to manually copy the new version over to their web server.</p>
<p>In any case, it&#8217;s quite annoying when you administer four blogs and all but one detect the updated version.  You see, WordPress is on a 12 hour update-check.  So, you could conceivably be forced to wait for up to 12 hours for your WordPress installation to detect that it needs to be upgraded.  Not anymore!</p>
<p>If you have access to your raw database, you can browse to the <code>wp_options</code> table.  In that table will be a row called <code>update_core</code>.  Delete this row.  Now, I will give this disclaimer (as any good technical advice does): <strong>BACKUP!</strong> before you do anything to your database.  After you&#8217;ve deleted said row, refresh your dashboard (you don&#8217;t even have to log out and back in) and look at the top for your upgrade notification.</p>
<p>I&#8217;ve seen some message boards that suggest altering this row.  This is bad for a number of reasons, not the least of which is the fact that the <code>update_core</code> data itself is serialized and you can break your installation if you screw up.</p>
<p>Now, I say all of this to say this: WordPress 2.8 is pretty cool.  Check <a href="http://codex.wordpress.org/Version_2.8" target="_blank">here</a> for a complete list of the new features.  Now, an excerpt:</p>
<blockquote><p>On June 10th, 2009, WordPress <strong>Version 2.8</strong>, named for noted trumpeter and vocalist <a title="http://en.wikipedia.org/wiki/Chet_Baker" href="http://en.wikipedia.org/wiki/Chet_Baker" target="_blank">Chet Baker</a>, was released to the public. For more information on this enhancement and bug-fix release, read the <a title="http://wordpress.org/development/2009/06/wordpress-28/" href="http://wordpress.org/development/2009/06/wordpress-28/" target="_self">Development Blog Announcement</a> and  see the <a title="http://core.trac.wordpress.org/log/trunk?action=stop_on_copy&amp;mode=stop_on_copy&amp;rev=11549&amp;stop_rev=10183&amp;limit=100" href="http://core.trac.wordpress.org/log/trunk?action=stop_on_copy&amp;mode=stop_on_copy&amp;rev=11549&amp;stop_rev=10183&amp;limit=100" target="_self">Changelog for 2.8</a>.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.pburch.com/blog/2009/06/11/wordpress-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wassup</title>
		<link>http://www.pburch.com/blog/2009/03/10/wassup/</link>
		<comments>http://www.pburch.com/blog/2009/03/10/wassup/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 21:03:36 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wassup]]></category>

		<guid isPermaLink="false">http://www.pburch.com/blog/?p=125</guid>
		<description><![CDATA[So, it seems (after much trial and error) that one of my plugins was the cause of my speed issues.  Wassup is a statistics plugin, and was causing major performance issues. I like Wassup because it provides good data, but &#8230; <a href="http://www.pburch.com/blog/2009/03/10/wassup/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So, it seems (after much trial and error) that one of my plugins was the cause of my speed issues.  <a href="http://wordpress.org/extend/plugins/wassup/" target="_blank">Wassup </a>is a statistics plugin, and was causing major performance issues.</p>
<p>I like Wassup because it provides good data, but I&#8217;m sad to say that I have deleted it.  Now, you can enjoy my blog without waiting 15 minutes for a post to load.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pburch.com/blog/2009/03/10/wassup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speedup WordPress on IIS 7.0</title>
		<link>http://www.pburch.com/blog/2009/03/10/speedup-wordpress-on-iis-70/</link>
		<comments>http://www.pburch.com/blog/2009/03/10/speedup-wordpress-on-iis-70/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 13:48:46 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[iis]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[output caching]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-cgi.exe]]></category>
		<category><![CDATA[wp super cache]]></category>

		<guid isPermaLink="false">http://www.pburch.com/blog/?p=114</guid>
		<description><![CDATA[Here is a nifty article on speeding up WordPress.  I&#8217;m still not terribly thrilled with the performace on IIS.  I&#8217;m not sure if it&#8217;s the PHP Engine or the database backend now.  I&#8217;ve noticed that php-cgi.exe spikes at 100% when &#8230; <a href="http://www.pburch.com/blog/2009/03/10/speedup-wordpress-on-iis-70/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here is a nifty article on speeding up WordPress.  I&#8217;m still not terribly thrilled with the performace on IIS.  I&#8217;m not sure if it&#8217;s the PHP Engine or the database backend now.  I&#8217;ve noticed that php-cgi.exe spikes at 100% when viewing some pages.</p>
<p>Anyway, <a href="http://blogs.iis.net/ruslany/archive/2008/12/23/speed-up-wordpress-on-iis-7-0.aspx" target="_blank">here it is</a>.</p>
<p>It gives two options for &#8220;speeding&#8221; things up: IIS&#8217;s Output Caching and WP Super Cache.  Each have their downsides, but maybe one will work for you (and me).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pburch.com/blog/2009/03/10/speedup-wordpress-on-iis-70/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MyISAM vs. InnoDB</title>
		<link>http://www.pburch.com/blog/2009/03/07/myisam-vs-innodb/</link>
		<comments>http://www.pburch.com/blog/2009/03/07/myisam-vs-innodb/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 17:59:53 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[myisam]]></category>
		<category><![CDATA[mysql administrator]]></category>
		<category><![CDATA[Server 2008]]></category>

		<guid isPermaLink="false">http://www.pburch.com/blog/?p=102</guid>
		<description><![CDATA[So, recently, I&#8217;ve switched my blog (and the whole domain, consequently) to IIS.  I used to have my domain hosted over at Host Gator (highly recommended if you don&#8217;t have the resources to host your own content), but recently have &#8230; <a href="http://www.pburch.com/blog/2009/03/07/myisam-vs-innodb/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So, recently, I&#8217;ve switched my blog (and the whole domain, consequently) to IIS.  I used to have my domain hosted over at <a href="http://www.hostgator.com" target="_blank">Host Gator</a> (highly recommended if you don&#8217;t have the resources to host your own content), but recently have switched to IIS running 2008 x64 on a virtual guest at work.  So far, I like it.</p>
<p>However, I was disappointed to find that WordPress performed poorly at first.  Then, in my tinkering, I figured out (dumb luck, eh?) that if I switch the tables in the WP database from InnoDB to MyISAM, performance increased noticeably.  I&#8217;m not sure if this was the &#8220;real&#8221; reason WordPress was sucking it up, but it seemed to fix it immediately.</p>
<blockquote><p>Edit March 10, 2008:</p></blockquote>
<p>I&#8217;m not sure how much of a performance boost this gave me.  I&#8217;m noticing a slowdown again, so I&#8217;m not sure if this did anything at all.  It looked like it was helping when I first made the change, but now I can&#8217;t be so sure.  Anyway&#8230;<span id="more-102"></span></p>
<p>For <a href="http://nukeitmike.com/blog/2009/03/06/wordpress-performance/" target="_blank">Michael&#8217;s</a> benefit, this can be accomplished by downloading and installing the <a href="http://dev.mysql.com/downloads/gui-tools/5.0.html" target="_blank">MySQL GUI Tools</a>.  Open MySQL Administrator and authenticate as root (or as the database user that has full administrative privileges).</p>
<p style="text-align: center;"><a href="http://www.pburch.com/blog/wp-content/uploads/2009/03/mysqladminlogin.png"><img class="size-medium wp-image-116 aligncenter" title="mysqladminlogin" src="http://www.pburch.com/blog/wp-content/uploads/2009/03/mysqladminlogin-300x227.png" alt="mysqladminlogin" width="300" height="227" /></a></p>
<p>In the lefthand navigation pane, select &#8220;Catalogs.&#8221;  This will open below it a list of the databases you are currently running.  Select the appropriate database, and the table structure will open up in the right side of the window.</p>
<p style="text-align: center;"><a href="http://www.pburch.com/blog/wp-content/uploads/2009/03/mysqladmincat.png"><img class="size-medium wp-image-117 aligncenter" title="mysqladmincat" src="http://www.pburch.com/blog/wp-content/uploads/2009/03/mysqladmincat-191x300.png" alt="In the lefthand navigation pane, select &quot;Catalogs.&quot;" width="191" height="300" /></a></p>
<p style="text-align: left;">Now, you will notice than my &#8220;Engine&#8221; column already says &#8220;MyISAM.&#8221;  This was not always the case.  If you want to change the engine, double click a table.</p>
<p style="text-align: center;"><a href="http://www.pburch.com/blog/wp-content/uploads/2009/03/mysqltables.png"><img class="aligncenter size-full wp-image-118" title="mysqltables" src="http://www.pburch.com/blog/wp-content/uploads/2009/03/mysqltables.png" alt="mysqltables" width="232" height="252" /></a></p>
<p style="text-align: left;">Once you&#8217;ve opened the Table Editor, there are three tabs.  You&#8217;re looking for the &#8220;Table Options&#8221; tab.  Here, you can change the Table Engine to something else.</p>
<p style="text-align: center;"><a href="http://www.pburch.com/blog/wp-content/uploads/2009/03/mysqltableoptions.png"><img class="aligncenter size-medium wp-image-119" title="mysqltableoptions" src="http://www.pburch.com/blog/wp-content/uploads/2009/03/mysqltableoptions-300x122.png" alt="mysqltableoptions" width="300" height="122" /></a></p>
<p style="text-align: left;">Now, don&#8217;t you feel better?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pburch.com/blog/2009/03/07/myisam-vs-innodb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

