<?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:ymaps="http://api.maps.yahoo.com/Maps/V2/AnnotatedMaps.xsd">

<channel>
	<title>The Codebelay Blog &#187; php</title>
	<atom:link href="http://www.codebelay.com/blog/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codebelay.com/blog</link>
	<description>Safely Reach New Tech Heights Through Our Startup Insights</description>
	<lastBuildDate>Wed, 25 Jan 2012 19:12:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How Do You Explain WordPress? Use Ruby Metaphors!</title>
		<link>http://www.codebelay.com/blog/2011/06/01/how-do-you-explain-wordpress-use-ruby-metaphors/</link>
		<comments>http://www.codebelay.com/blog/2011/06/01/how-do-you-explain-wordpress-use-ruby-metaphors/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 17:40:01 +0000</pubDate>
		<dc:creator>barce</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.codebelay.com/blog/?p=1045</guid>
		<description><![CDATA[Last night I went to the WordPress Meetup at the Automattic office on Pier 38. I was late, but thank goodness that their sponsors had free booze and pizza. What struck me about this meetup was how folks explained WordPress and how to do production pushes with it. They had to use Ruby best practices [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Last night I went to the WordPress Meetup at the Automattic office on Pier 38. I was late, but thank goodness that their sponsors had free booze and pizza.</p>
<p>What struck me about this meetup was how folks explained WordPress and how to do production pushes with it.</p>
<p>They had to use Ruby best practices metaphors.</p>
<p>This is a dramatic change from 5 or 6 years ago when the opposite was the case.</p>
<p>How do you push to production? &#8220;It&#8217;s like using <a href="http://wiki.rubyonrails.org/deployment/capistrano">Capistrano</a>.&#8221;</p>
<p>How does <a href="http://wordpress.com/">WordPress.com</a> push code to production? &#8220;We use <a href="http://subversion.tigris.org/">SVN</a> with no branches. It&#8217;s like git without the merging.&#8221;</p>
<p>What if you wanted to do RSpec / TDD? &#8220;Use something like <a href="http://www.simpletest.org/">Simpletest</a> to exercise the user tables?&#8221;</p>
<p>There was no automated solution for what to do with serialized data, and pushing that serialized data from dev to stage to prod if said data contained a different FQDN for each environment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codebelay.com/blog/2011/06/01/how-do-you-explain-wordpress-use-ruby-metaphors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>URL Shorteners: tinyurl.com bit.ly and seductive.me</title>
		<link>http://www.codebelay.com/blog/2010/05/17/url-shorteners-tinyurl-com-bit-ly-and-seductive-me/</link>
		<comments>http://www.codebelay.com/blog/2010/05/17/url-shorteners-tinyurl-com-bit-ly-and-seductive-me/#comments</comments>
		<pubDate>Mon, 17 May 2010 08:11:25 +0000</pubDate>
		<dc:creator>barce</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[TechBiz]]></category>
		<category><![CDATA[Webalytics]]></category>
		<category><![CDATA[WebApps]]></category>

		<guid isPermaLink="false">http://www.codebelay.com/blog/?p=784</guid>
		<description><![CDATA[There&#8217;s a pretty useful spreadsheet comparing different URL shorteners here: http://spreadsheets.google.com/pub?key=pApF4slh39ZkqUOoZQSo8bg . Tinyurl just really shortens your URL and doesn&#8217;t provide any other data. A great feature is the preview option that allows you to preview a link so you don&#8217;t get Rick-rolled. Bit.ly is my favorite service. The features I like are its API, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>There&#8217;s a pretty useful spreadsheet comparing different URL shorteners here:<br />
<a href="http://spreadsheets.google.com/pub?key=pApF4slh39ZkqUOoZQSo8bg">http://spreadsheets.google.com/pub?key=pApF4slh39ZkqUOoZQSo8bg</a> .</p>
<p><a href="http://tinyurl.com/">Tinyurl</a> just really shortens your URL and doesn&#8217;t provide any other data. A great feature is the preview option that allows you to preview a link so you don&#8217;t get Rick-rolled.</p>
<p><a href="http://bit.ly/">Bit.ly</a> is my favorite service. The features I like are</p>
<ul>
<li>its <a href="http://code.google.com/p/bitly-api/wiki/ApiDocumentation">API</a>,</li>
<li>its analytics, and </li>
<li>its <a href="http://bitly.pro/">Pro feature</a> which allows you to make a branded URL shortener</li>
</ul>
<p>I wanted to figure out just how much effort it was to code a URL so I coded up my own MVC <a href="http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html">based on Rasmus&#8217; article on making one in PHP</a>, and added URL shortening code to it. You can <a href="http://github.com/barce/ezmvc">get the URL shortener I wrote</a> on Github.</p>
<p>Here are a few things that I noticed once I put this code on <a href="http://seductive.me/">Seductive.me</a>:</p>
<ol>
<li><a href="http://twitter.com/nikibobb/status/13940708676">Somebody found a bad, infinite loop</a> that I accidentally put into the code</li>
<li>URL Shortener services that offer analytics have to sort out &#8220;bots&#8221; from real user clicks, and I&#8217;m not sure they are correct 100% of the time</li>
<li>Using CRC32 as my hashing mechanism for shortening URLs will cause <a href="http://www.codinghorror.com/blog/2007/08/url-shortening-hashes-in-practice.html">a link collision after 65,536 URLs</a> shortened.</li>
<li>Seductive.me is a lame url for a URL shortener which is why I got <a href="http://3vi.be">3vi.be</a> the next day.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.codebelay.com/blog/2010/05/17/url-shorteners-tinyurl-com-bit-ly-and-seductive-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Geo Plugin</title>
		<link>http://www.codebelay.com/blog/2009/11/27/wp-geo-plugin/</link>
		<comments>http://www.codebelay.com/blog/2009/11/27/wp-geo-plugin/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 04:25:05 +0000</pubDate>
		<dc:creator>barce</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.codebelay.com/blog/?p=682</guid>
		<description><![CDATA[The print_GeoCache_Url function came across my email today from a self-described local designer and geek, but after a little research, I found out it only works up to WordPress 1.2 . Thank goodness for the WordPress WP-Geo Plug-in which I&#8217;m using right now. More info here: WPGeo.com]]></description>
			<content:encoded><![CDATA[<p></p><p>The print_GeoCache_Url function came across my email today from a self-described <a href="http://www.aponeurotica.com/">local designer</a> and geek, but after a little research, I found out it only works up to WordPress 1.2 . Thank goodness for the WordPress <a href="http://wordpress.org/extend/plugins/wp-geo/">WP-Geo Plug-in</a> which I&#8217;m using right now.</p>
<p>More info here: <a href="http://www.wpgeo.com/">WPGeo.com</a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.codebelay.com/blog/2009/11/27/wp-geo-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<georss:point>37.7783409 -122.4339839</georss:point><geo:lat>37.7783409</geo:lat><geo:long>-122.4339839</geo:long>	</item>
		<item>
		<title>My Favorite Coder Interview Question</title>
		<link>http://www.codebelay.com/blog/2009/04/09/my-favorite-coder-interview-question/</link>
		<comments>http://www.codebelay.com/blog/2009/04/09/my-favorite-coder-interview-question/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 01:11:52 +0000</pubDate>
		<dc:creator>barce</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[Questions]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[TechBiz]]></category>
		<category><![CDATA[WebApps]]></category>
		<category><![CDATA[hr]]></category>
		<category><![CDATA[interview questions]]></category>
		<category><![CDATA[interviewing]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[leibniz]]></category>
		<category><![CDATA[mergesort]]></category>
		<category><![CDATA[principle of sufficient reason]]></category>

		<guid isPermaLink="false">http://www.codebelay.com/blog/?p=548</guid>
		<description><![CDATA[What is your favorite algorithm? My favorite algorithm right now is the merge sort. I like it so much that I&#8217;ve implemented it in PHP and Ruby. The problem is that as a web developer I&#8217;ve never had to use a merge sort. Back in the old days when pagination was tricky, I&#8217;ve had to [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>What is your favorite algorithm?</p>
<p>My favorite algorithm right now is the <a href="http://en.wikipedia.org/wiki/Mergesort">merge sort</a>.</p>
<div id="attachment_549" class="wp-caption aligncenter" style="width: 280px">
	<img src="http://www.codebelay.com/blog/wp-content/uploads/2009/04/merge_sort_animation2.gif" alt="v1: Nuno Nogueira (Nmnogueira), v2: edited by Daniel Miller (cobaltBlue)" title="merge_sort_animation2" width="280" height="237" class="size-full wp-image-549" />
	<p class="wp-caption-text">v1: Nuno Nogueira (Nmnogueira), v2: edited by Daniel Miller (cobaltBlue)</p>
</div>
<p>I like it so much that I&#8217;ve implemented it in <a href="http://www.codebelay.com/algorithms/sorting/MergeSort.phps">PHP</a> and <a href="http://www.codebelay.com/rb/trunk/mergesort.rb">Ruby</a>.</p>
<p>The problem is that as a web developer I&#8217;ve never had to use a merge sort. Back in the old days when pagination was tricky, I&#8217;ve had to use a linked list, but you really don&#8217;t have to use the merge sort anymore.</p>
<p>So at this point it&#8217;s really just academic.</p>
<p>What interview question should really count now?</p>
<p>More on that in my next post. As a clue, I&#8217;d like to say it has to do with Leibniz&#8217;s statement, &#8220;The present is big with the future.&#8221; A techie who believes that and <a href="http://en.wikipedia.org/wiki/Principle_of_sufficient_reason">the principle of sufficient reason</a> is the kind of techie you want.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codebelay.com/blog/2009/04/09/my-favorite-coder-interview-question/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another Hackday Update: PHP unserialize doesn&#8217;t quite do it</title>
		<link>http://www.codebelay.com/blog/2008/12/22/another-hackday-update-php-unserialize-doesnt-quite-do-it/</link>
		<comments>http://www.codebelay.com/blog/2008/12/22/another-hackday-update-php-unserialize-doesnt-quite-do-it/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 08:21:05 +0000</pubDate>
		<dc:creator>barce</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[WebApps]]></category>
		<category><![CDATA[hackday]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress dev2live]]></category>

		<guid isPermaLink="false">http://www.codebelay.com/blog/?p=447</guid>
		<description><![CDATA[Wow, I had to use someone&#8217;s custom unserialize code because PHP&#8217;s unserialize doesn&#8217;t quite work multi-byte strings. Time wasted: 3 hours. Here&#8217;s the function: function mb_unserialize($serial_str) { $out = preg_replace(&#8216;!s:(\d+):&#8221;(.*?)&#8221;;!se&#8217;, &#8216;&#8221;s:&#8221;.strlen(&#8220;$2&#8243;).&#8221;:\&#8221;$2\&#8221;;&#8221;&#8216;, $serial_str); return unserialize($out); }]]></description>
			<content:encoded><![CDATA[<p></p><p>Wow, I had to use someone&#8217;s custom unserialize code because PHP&#8217;s unserialize doesn&#8217;t quite work multi-byte strings. <img src='http://www.codebelay.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  Time wasted: 3 hours.</p>
<p>Here&#8217;s the function: </p>
<div style="color: #fff; background: #000; padding: 5px;">
function mb_unserialize($serial_str) {<br />
   $out = preg_replace(&#8216;!s:(\d+):&#8221;(.*?)&#8221;;!se&#8217;, &#8216;&#8221;s:&#8221;.strlen(&#8220;$2&#8243;).&#8221;:\&#8221;$2\&#8221;;&#8221;&#8216;, $serial_str);<br />
   return unserialize($out);<br />
}
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.codebelay.com/blog/2008/12/22/another-hackday-update-php-unserialize-doesnt-quite-do-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update on the WordPress Dev2Live Hackday</title>
		<link>http://www.codebelay.com/blog/2008/12/21/update-on-the-wordpress-dev2live-hackday/</link>
		<comments>http://www.codebelay.com/blog/2008/12/21/update-on-the-wordpress-dev2live-hackday/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 02:06:13 +0000</pubDate>
		<dc:creator>barce</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[WebApps]]></category>
		<category><![CDATA[hackday]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress dev2live]]></category>

		<guid isPermaLink="false">http://www.codebelay.com/blog/?p=445</guid>
		<description><![CDATA[I know the bare minimum of what has to change in a WordPress install. Code that gets me the tables, and shows me the serializeable data in WordPress&#8217; option settings is done.]]></description>
			<content:encoded><![CDATA[<p></p><p>I know the bare minimum of what has to change in a WordPress install. Code that gets me the tables, and shows me the serializeable data in WordPress&#8217; option settings is <a href="http://github.com/barce/wordpress-dev2live/tree/master">done</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codebelay.com/blog/2008/12/21/update-on-the-wordpress-dev2live-hackday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A WordPress Hackday</title>
		<link>http://www.codebelay.com/blog/2008/12/21/a-wordpress-hackday/</link>
		<comments>http://www.codebelay.com/blog/2008/12/21/a-wordpress-hackday/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 17:13:08 +0000</pubDate>
		<dc:creator>barce</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[WebApps]]></category>
		<category><![CDATA[hackday]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.codebelay.com/blog/?p=441</guid>
		<description><![CDATA[Today, I&#8217;m going to explore looking for a solution for staging WordPress from a development environment to a production one. I&#8217;ll be posting throughout the day as &#8220;hacks&#8221; become available. The main issue is changing serialized dev data into production data. I&#8217;ll be in irc.freenode.net #wpdev2live .]]></description>
			<content:encoded><![CDATA[<p></p><p>Today, I&#8217;m going to explore looking for a solution for staging <a href="http://wordpress.org/">WordPress</a> from a development environment to a production one. I&#8217;ll be posting throughout the day as &#8220;hacks&#8221; become available.</p>
<p>The main issue is changing serialized dev data into production data.</p>
<p>I&#8217;ll be in irc.freenode.net #wpdev2live .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codebelay.com/blog/2008/12/21/a-wordpress-hackday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Looking For a New Web 2.0 Job? Try Shifting Your Perspective.</title>
		<link>http://www.codebelay.com/blog/2008/12/17/looking-for-a-new-web-20-job-try-shifting-your-perspective/</link>
		<comments>http://www.codebelay.com/blog/2008/12/17/looking-for-a-new-web-20-job-try-shifting-your-perspective/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 22:08:50 +0000</pubDate>
		<dc:creator>ckcoburn</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[TechBiz]]></category>

		<guid isPermaLink="false">http://www.codebelay.com/blog/?p=426</guid>
		<description><![CDATA[I spoke to a friend on Tuesday who recently received a promotion with a company he’d been employed with for just about a year out in Ohio. And the day before, on Monday, I learned that two friends had been laid off from the jobs they loved here in the Bay Area. When the Tuesday [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I spoke to a friend on Tuesday who recently received a promotion with a company he’d been employed with for just about a year out in Ohio. And the day before, on Monday, I learned that two friends had been laid off from the jobs they loved here in the Bay Area. When the Tuesday friend said he didn’t know how to feel about his promotion, I advised him to be grateful.</p>
<p>The Tuesday evening news informed me that if trends don’t change, California is going to run out of money for people on unemployment within a year, and will then have to borrow money from the federal government, as my home state Michigan and its neighbor Indiana are already doing. California’s unemployment rate now sits at an average of 8.2%. Layoffs are occurring left and right, and those in the tech industry can be tracked at both the <a href="http://www.techcrunch.com/layoffs/">TechCrunch Layoff Tracker</a> and at CNET’s <a href="http://news.cnet.com/tech-layoffs/">Tech layoffs: The scorecard</a>. As was noted in October at <a href="http://www.scommerce.com/nothing-social-about-the-recent-layoffs-in-the-tech-world/">sCommerce</a>, “[w]hen it rains, it pours in the Tech World,” and already December has certainly seen its own fair share of downpour.</p>
<p>One recent victim I talked to kept shaking his head and insisting that it just didn’t make sense. But unfortunately, much as I sympathize and wish circumstances were otherwise, it <i>does</i> make sense. Businesses are doing the same thing the rest of us are doing, tightening their belts and hoping to survive the winter. Most people I spoke with didn’t seem to know where to begin once they’d lost their jobs.</p>
<p>However, while many industries are (however temporarily) very decidedly on the decline, others are thriving, growing even, and it isn’t impossible for the tech savvy to migrate over. Education, for instance. With so many people out of work, many are looking to further their educations. The Labor Department reported 9,800 jobs were created in the education industry. Additionally, the director of the Center for Economic and Policy Research in Washington, DC, Dean Baker, is quoted on <a href="http://money.cnn.com/2008/12/08/news/economy/strong_industries/index.htm">CNNMoney.com</a> as saying, “Education will be an area that governments will try to protect because there&#8217;s a lot of political support.”</p>
<p>But you don’t have to be a teacher at an established institution to teach. (Though that certainly isn’t a bad way to go if you can manage it. I suggest checking your local city or community college’s website, or trolling through the local paper’s want ads. That’s how I found an opening for an English teacher at my former local community college.) Freelance tutoring is a perfect opportunity for some quick money and a new addition to your resume. Lots of people are turning to private tutors when they don’t have the time or discipline for a structured class schedule.</p>
<p>Another industry that will always remain strong is the health industry. CNNMoney.com reports that “[e]ven in the midst of the economic fallout, healthcare employment grew by 34,000 jobs in November,” and later went on to add that “[o]ptions…abound at pharmaceutical companies, biotech firms and medical-equipment companies.” The moderator of <a href="http://blog.yourhealthandtech.com/”">Your Health and Tech</a>, William Welense, urges people “to look into healthcare information systems! Seriously, HCIT [Health Care Information Technology] really really really needs some web 2.0 people, especially on the visual design part of development.” And with innovations like <a href="http://www.google.com/health">Google Health</a> (blogged about <a href="http://community.livejournal.com/yourhealthtech/494.html">here</a> at Your Health and Tech) coming out, this could be a really exciting field to get into! </p>
<p>If you are already in the Bay Area, and don’t know what health care management software companies are around, I suggest you first stop by the Yahoo! Directory for <a href="http://dir.yahoo.com/Regional/U_S__States/California/Metropolitan_Areas/San_Francisco_Bay_Area/Business_and_Shopping/Business_to_Business/Computers/Software/Health/Health_Care_Management/">San Francisco Bay Area &gt; Health Care Management Software</a> for a handy list of companies with links to their websites. Don’t overlook the classified ads on <a href="http://sfbay.craigslist.org/hea/">Craigslist</a> either. After typing “healthcare information systems” into the search field, nineteen results popped up for me on Tuesday, December 16. </p>
<p>And speaking of people wanting to further their education in these times of low employment, a master of science degree in Human Computer Interaction might be a handy thing to pick up, especially when looking at the field of healthcare information systems, and can be earned entirely online at certain universities, such as Chicago-based <a href="http://www.cdm.depaul.edu/academics/Pages/MSinHuman-ComputerInteraction.aspx">DePaul University</a>. </p>
<p>If you’re looking online for jobs, why not stop by Stephan Miller’s quick list of <a href="http://www.stephanmiller.com/my-link-lists/places-to-find-jobs-in-tech/">11 Places to Find Tech Jobs</a>? If you are looking for freelance work, definitely check out <a href="http://www.elance.com/">Elance</a>. They have everything from “web &amp; programming” to “writing &amp; translation.” Other sites in this vein are <a href="http://www.project4hire.com/">Project4Hire</a> and <a href="http://www.gofreelance.com/">GoFreelance</a>. </p>
<p>Most importantly when looking for a new job, don’t forget to network. Ask your friends. If they don’t know somebody, maybe they know somebody who knows somebody. I myself have connections at both <a href="http://www.google.com">Google</a> and <a href="http://www.lucasarts.com/">LucasArts</a> that will likely never do me a damn bit of good, but could come in handy for other friends who are in those fields. I’ve found that a lot of companies offer recruitment bonuses to their employees, so don’t feel bad asking. And as pointed out in my previous post, don’t overlook even little things like <a href="http://www.codebelay.com/blog/?p=392">the local happy hour</a>.</p>
<p>The only way to get through this economic downtime and get things moving again is to persevere. Don’t lose hope, and don’t give up. If you can’t find a new job in your usual field, branch out. There really are jobs out there, we just have to know where to look. Hopefully this has offered a few launching points. Best of luck! I’m rootin’ for ya.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codebelay.com/blog/2008/12/17/looking-for-a-new-web-20-job-try-shifting-your-perspective/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing fcgi on IIS 6.0 with PHP 5.2.8</title>
		<link>http://www.codebelay.com/blog/2008/12/17/installing-fcgi-on-iis-60-with-php-528/</link>
		<comments>http://www.codebelay.com/blog/2008/12/17/installing-fcgi-on-iis-60-with-php-528/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 20:49:30 +0000</pubDate>
		<dc:creator>barce</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.codebelay.com/blog/?p=416</guid>
		<description><![CDATA[Install MySQL Download PHP 5.2.8 win32 installer Install PHP 5.2.8 Select these extensions: GD2 Gettext Multi-Byte String Mimetypec MySQL MySQLi PDO/MySQL SQLite (in case MySQL fails) XML-RPC (WordPress needs this) Be sure to install Pear and the PHP Manual, too. Next step: Install FastCGI with the installer. For more info check out this page Also [...]]]></description>
			<content:encoded><![CDATA[<p></p><ul>
<li>Install MySQL</li>
<li>Download <a href="http://us3.php.net/get/php-5.2.8-win32-installer.msi/from/a/mirror">PHP 5.2.8 win32 installer</a></li>
<li>Install PHP 5.2.8</li>
</ul>
<div id="attachment_417" class="wp-caption aligncenter" style="width: 499px">
	<img src="http://www.codebelay.com/blog/wp-content/uploads/2008/12/image001.png" alt="Choose fcgi iis" title="Option to Pick" width="499" height="385" class="size-full wp-image-417" />
	<p class="wp-caption-text">Choose IIS FastCGI</p>
</div>
<div id="attachment_420" class="wp-caption aligncenter" style="width: 499px">
	<img src="http://www.codebelay.com/blog/wp-content/uploads/2008/12/image002.png" alt="Be sure to install extensions needed for WordPress" title="Extensions to Install" width="499" height="385" class="size-full wp-image-420" />
	<p class="wp-caption-text">Be sure to install extensions needed for WordPress</p>
</div>
<p>Select these extensions:<br />
GD2<br />
Gettext<br />
Multi-Byte String<br />
Mimetypec<br />
MySQL<br />
MySQLi<br />
PDO/MySQL<br />
SQLite (in case MySQL fails)<br />
XML-RPC (WordPress needs this)</p>
<p>Be sure to install Pear and the PHP Manual, too.</p>
<p>Next step: Install FastCGI with the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&#038;displaylang=en">installer</a>.</p>
<p>For more info check out <a href="http://www.iis.net/downloads/default.aspx?tabid=34&#038;g=6&#038;i=1521">this page</a></p>
<p>Also check out info <a href="http://learn.iis.net/page.aspx/247/using-fastcgi-to-host-php-applications-on-iis-60/">how to install FastCGI on IIS 6.0</a>.</p>
<p>Install <a href="http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds">eAccelerator</a>.</p>
<p>My php.ini is below:</p>
<div style="color: #fff; background: #000; padding: 5px;">
[PHP]<br />
cgi.force_redirect=0<br />
extension_dir=&#8221;C:\Program Files\PHP\ext&#8221;<br />
[PHP_GD2]<br />
extension=php_gd2.dll<br />
[PHP_GETTEXT]<br />
extension=php_gettext.dll<br />
[PHP_MBSTRING]<br />
extension=php_mbstring.dll<br />
[PHP_MIME_MAGIC]<br />
extension=php_mime_magic.dll<br />
[PHP_MYSQL]<br />
extension=php_mysql.dll<br />
[PHP_MYSQLI]<br />
extension=php_mysqli.dll<br />
[PHP_PDO]<br />
extension=php_pdo.dll<br />
[PHP_PDO_MYSQL]<br />
extension=php_pdo_mysql.dll<br />
[PHP_SQLITE]<br />
extension=php_sqlite.dll<br />
[PHP_XMLRPC]<br />
extension=php_xmlrpc.dll</p>
<p>;eAccelerator<br />
extension=&#8221;eAccelerator.dll&#8221;<br />
eaccelerator.shm_size=&#8221;150&#8243;<br />
eaccelerator.cache_dir=&#8221;C:\cache&#8221;<br />
eaccelerator.enable=&#8221;1&#8243;<br />
eaccelerator.optimizer=&#8221;1&#8243;<br />
eaccelerator.check_mtime=&#8221;1&#8243;<br />
eaccelerator.debug=&#8221;0&#8243;<br />
eaccelerator.filter=&#8221;"<br />
eaccelerator.shm_max=&#8221;0&#8243;<br />
eaccelerator.shm_ttl=&#8221;3600&#8243;<br />
eaccelerator.shm_prune_period=&#8221;1800&#8243;<br />
eaccelerator.shm_only=&#8221;1&#8243;<br />
eaccelerator.compress=&#8221;0&#8243;<br />
eaccelerator.compress_level=&#8221;9&#8243;<br />
eaccelerator.keys = &#8220;shm_only&#8221;<br />
eaccelerator.sessions = &#8220;shm_only&#8221;<br />
eaccelerator.content = &#8220;shm_only&#8221;
</p></div>
<p>My fcgiext.ini in %WINDOWS%/system32/inetsrv is below:</p>
<div style="color: #fff; background: #000; padding: 5px;">
<p>[Types]<br />
php=C:\PROGRA~1\PHP\php-cgi.exe</p>
<p>[C:\PROGRA~1\PHP\php-cgi.exe]<br />
QueueLength=999<br />
MaxInstances=20<br />
InstanceMaxRequests=500<br />
IdleTimeout=200<br />
RequestTimeout=60
</p></div>
<p>The performance you get on a 2GhZ processor with 1GiB of RAM is decent:</p>
<pre>
Transactions:                     662 hits
Availability:                 100.00 %
Elapsed time:                 123.15 secs
Data transferred:              21.96 MB
Response time:                  8.29 secs
Transaction rate:               5.38 trans/sec
Throughput:                     0.18 MB/sec
Concurrency:                   44.55
Successful transactions:         662
Failed transactions:               0
Longest transaction:           13.25
Shortest transaction:           4.23
</pre>
<p>5.38 transactions per second is 464832 hits per day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codebelay.com/blog/2008/12/17/installing-fcgi-on-iis-60-with-php-528/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>File Upload Configuration with PHP and IIS</title>
		<link>http://www.codebelay.com/blog/2008/12/03/file-upload-configuration-with-php-and-iis/</link>
		<comments>http://www.codebelay.com/blog/2008/12/03/file-upload-configuration-with-php-and-iis/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 22:02:00 +0000</pubDate>
		<dc:creator>barce</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[uploading files]]></category>

		<guid isPermaLink="false">http://www.codebelay.com/blog/?p=397</guid>
		<description><![CDATA[In php.ini it&#8217;s important that these two variables are set right: upload_max_filesize = 2M post_max_size = 8M Very often people will up the upload_max_filesize to something like 20M without updating the post_max_size. Then if you&#8217;re on IIS, there is one more gotcha. There&#8217;s an upload setting in C:\WINNT\system32\inetsrv\MetaBase.xml &#8212; the default is 200KB. Up that [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>In php.ini it&#8217;s important that these two variables are set right:<br />
upload_max_filesize = 2M<br />
post_max_size = 8M</p>
<p>Very often people will up the upload_max_filesize to something like 20M without updating the post_max_size.</p>
<p>Then if you&#8217;re on IIS, there is one more gotcha.</p>
<p>There&#8217;s an upload setting in C:\WINNT\system32\inetsrv\MetaBase.xml &#8212; the default is 200KB. Up that to what you think is necessary for your web app.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codebelay.com/blog/2008/12/03/file-upload-configuration-with-php-and-iis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.662 seconds -->

