<?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>Web Development 2.0: Web Design, CakePHP, Javascript &#187; PHP</title>
	<atom:link href="http://www.webdevelopment2.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webdevelopment2.com</link>
	<description>Quick and Dirty Web Development for Web 2.0: CakePHP, Prototype, JQuery, and lots more.</description>
	<lastBuildDate>Sat, 23 Apr 2011 15:21:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Reader Input: Picking A CMS &#8211; Part 1</title>
		<link>http://www.webdevelopment2.com/picking-a-cms-part-1/</link>
		<comments>http://www.webdevelopment2.com/picking-a-cms-part-1/#comments</comments>
		<pubDate>Wed, 20 May 2009 15:09:28 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Reader Input]]></category>
		<category><![CDATA[cms]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/?p=510</guid>
		<description><![CDATA[In The Series Part 1 Part 2 Part 3 Part 4 Define The Problem In the past, I&#8217;ve done some freelance Web Development and Web Design for different clients. One question I&#8217;ve always had to ask myself is: How will the user be updating this website? That question is usually preempted by a question to [...]]]></description>
			<content:encoded><![CDATA[<h2>In The Series</h2>
<ul>
<li><a href="http://www.webdevelopment2.com/picking-a-cms-part-1/">Part 1</a></li>
<li><a href="http://www.webdevelopment2.com/picking-a-cms-2-new-standards/">Part 2</a></li>
<li><a href="http://www.webdevelopment2.com/picking-a-cms-3-wordpress-as-a-cms/">Part 3</a></li>
<li><a href="http://www.webdevelopment2.com/picking-cms-4-looking-at-drupal">Part 4</a></li>
</ul>
<h2>Define The Problem</h2>
<p>In the past, I&#8217;ve done some freelance Web Development and Web Design for different clients. One question I&#8217;ve always had to ask myself is:</p>
<blockquote><p>How will the user be updating this website?</p></blockquote>
<p>That question is usually preempted by a question to the client:</p>
<blockquote><p>Do you have any HTML experience?</p></blockquote>
<p>I can count (on one hand) the number of times that I&#8217;ve heard a <em>yes</em> to this question. To be quite honest, I don&#8217;t even know why I ask it anymore. <strong>Hardly any of my clients  ever had HTML experience</strong> and even if they did, I doubt they&#8217;d want to go through the hassle. So this poses the very interesting question How do you pick a <a title="Content Management System" href="http://en.wikipedia.org/wiki/Content_management_system">CMS</a> (content management system) for a web project?</p>
<h2>What Not To Do &#8211; Pure HTML is wrong for many reasons</h2>
<p><img class="size-full wp-image-267 alignnone" title="XHTML" src="http://www.webdevelopment2.com/wp-content/uploads/xhtml.jpg" alt="XHTML" width="450" height="191" />Over the years, I&#8217;ve had much experience in this area (what not to do). Gone are the days when people simply wanted a <em>web presence</em>. Those days, things were simple. You fire up your copy of Frontpage (oh how we&#8217;ve learned from then) and designed a website for a client and stick it onto an FTP server, and viola; you&#8217;re done. <strong>Worst case scenario</strong>, they call you up seven (7) months later and say they&#8217;ve <strong>changed their phone number and need you to make an update</strong>.</p>
<p>That might have been fine back then, but right now clients expect a lot more for their money. In this day and age when everyone is worried about SEO ranking and the phrase <a href="http://en.wikipedia.org/wiki/Web_content#Content_is_king">Content Is King</a> has been coined, <strong>no one wants to have to call you up (and God forbid; pay you) to make regular update</strong>s to their website. It is expected that you provide some sort method of updating their site.</p>
<p>With that said, providing a <strong>purely HTML solution is not user friendly and it can be down right dangerous</strong>. Do you really want to give your users full access to the HTML files that comprise the website? What if they <strong>break something in the layout</strong> while editing in Microsoft Word, ugh!. Who would be to blame? You would.</p>
<p>In the past I&#8217;ve guarded against this by using the PHP include strategy. The website would be primarily PHP with a folder called &#8220;content&#8221; sitting there with various HTML files. From there, I would pull any <em>dynamic content</em> that would be needed for the site: Page titles, tag lines, content blocks, etc, using standard PHP includes. This way my <strong>layout would stay (relatively) intact</strong> and the user would have access to change what they were allowed to change. The problem with this method is that they <strong>required some sort of HTML knowledge</strong> to modify the content files. They also <strong>required knowledge of FTP software</strong> and servers. Not to mention, that adding a pages or sections still needed heavy interaction from myself. Needless to say, I&#8217;ve grown from then.</p>
<h2>Joomla! &#8211; It looked like a good idea at first</h2>
<p><img class="size-medium wp-image-519 alignright" title="joomla" src="http://www.webdevelopment2.com/wp-content/uploads/joomla-300x190.png" alt="joomla" width="300" height="190" />Early in my college days, I stumbled across <a href="http://en.wikipedia.org/wiki/Mambo_(software)">Mambo</a> and subsequently <a href="http://en.wikipedia.org/wiki/Joomla!">Joomla!</a>, it&#8217;s current fork. It did so much for you, it had to be good, right? After installing Joomla for a client, I realized what the problem was. <strong>It just did too much</strong>. There were too many configurations, and simple things were just too hard. Also, last I remember, one of the main navigational structures was generated using and ugly and rigid table structure. Yes, I know it&#8217;s been changed by now, but that was part of my initial frustration.</p>
<p>It just felt too heavy for a normal website. No matter how much I restricted the user (by groups &#8211; editors as opposed to admins I think) I still <strong>got complaints about how complicated the backend interface it was</strong>. Added to that fact, the templates (and I stress) at that time were very cookie-cutter. It got to the point where I could eyeball a website built in Joomla.</p>
<p>Since then (over 3 years ago) I haven&#8217;t given Joomla a second look. It&#8217;s just one of those things that rubs you the wrong way once, and you never look back. Judging by the version numbers, I&#8217;m forced to assume that not much has changed. But that&#8217;s just an ignorant assumption with no basis, so please don&#8217;t hold it against me.</p>
<h2>More To Come</h2>
<p>I really had no idea this was going to be as long as it turned out. But sometimes I start ranting and never end. Hense, there shall be a part two where I talk about my dive into <a href="http://www.wordpress.org"  class="alinks_links" onclick="return alinks_click(this);" title=""  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">WordPress</a>.</p>
<p>All user input is encouranged; ThanX</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/picking-a-cms-3-wordpress-as-a-cms/" rel="bookmark" title="December 1, 2009">Reader Input: Picking A CMS – Part 3</a></li>

<li><a href="http://www.webdevelopment2.com/content-management-systems/" rel="bookmark" title="November 2, 2006">Content Management Systems</a></li>

<li><a href="http://www.webdevelopment2.com/spell-out-a-detailed-contract/" rel="bookmark" title="November 1, 2006">Spell Out a Detailed Contract</a></li>

<li><a href="http://www.webdevelopment2.com/nail-in-the-coffin-mamboservercom-hacked/" rel="bookmark" title="November 22, 2005">Nail in The Coffin &#8211; Mamboserver.com Hacked</a></li>

<li><a href="http://www.webdevelopment2.com/picking-a-cms-2-new-standards/" rel="bookmark" title="November 25, 2009">Reader Input: Picking A CMS – Part 2</a></li>
</ul><!-- Similar Posts took 4.793 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/picking-a-cms-part-1/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Comment Relish Plugin + High CPU Usage &#8211; Fixed The Right Way</title>
		<link>http://www.webdevelopment2.com/wordpress-comment-relish-and-high-cpu-usage/</link>
		<comments>http://www.webdevelopment2.com/wordpress-comment-relish-and-high-cpu-usage/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 12:00:25 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[comment]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/?p=461</guid>
		<description><![CDATA[How The Problem Started Christmas Eve have just started at about 12:03 AM, when I logged on and saw that dreaded message: Your Account Has Exceeded Its CPU Quota So I did what all normal people do at first: I ignored it. Actually, I had a very good reason to at the time. Since it [...]]]></description>
			<content:encoded><![CDATA[<h3>How The Problem Started</h3>
<p>Christmas Eve have just started at about 12:03 AM, when I logged on and saw that dreaded message:</p>
<blockquote><p>Your Account Has Exceeded Its CPU Quota</p></blockquote>
<p>So I did what all normal people do at first: I ignored it. Actually, I had a very good reason to at the time. Since it was 12:03 AM, I assumed that my nightly backup job (backup and compress files and databases) was causing the issue.</p>
<p>So after it happened the next day (a few times) I decided to do some investigation.</p>
<h3>The Culprit &#8211; Comment Relish</h3>
<p><a href="http://www.webdevelopment2.com/go/hostmonster/"  class="alinks_links" onclick="return alinks_click(this);" title="Hostmonster"  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">HostMonster</a> does a good job of providing some helpful information that you can use to figure out these issues. I went to the directory: <em>cpu_exceeded_logs</em> and sure enough there was a file with today&#8217;s (and yesterday&#8217;s) date in there. I opened it up and so a ton of referrences to comments on a <a href="http://www.wordpress.org"  class="alinks_links" onclick="return alinks_click(this);" title=""  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">WordPress</a> Blog:</p>
<blockquote><p>
/ramdisk/bin/php5 /home1/user/public_html/domain.com/wp-comments-post.php
</p></blockquote>
<p>That narrowed things down a little bit. The other helpful directory was <em>mysql_slow_queries</em>. Here I found the following query over and over again:</p>
<pre class="brush: sql; title: ;">
SELECT c.*, p.*
  FROM wp__comments c
  INNER JOIN wp__posts p ON p.ID = c.comment_post_ID
  LEFT JOIN wp__cr_emailed e ON e.email = c.comment_author_email
  WHERE e.email IS NULL AND c.comment_approved = '1'
</pre>
<p>It didn&#8217;t take too long to figure out that <em>cr</em> stood for <a href="http://www.justinshattuck.com/comment-relish/">Comment Relish</a>. </p>
<p>A little bit of Googling showed me that in some circles, it&#8217;s <a href="http://www.siteguide.us/2007/07/05/3-reasons-why-comment-relish-is-not-good-for-your-blog/">not a very well liked plugin</a>. Some more searching revealed something a bit <a href="http://www.chrisg.com/when-good-plugins-go-bad-comment-relish-considered-dangerous/">more technically helpful</a>.</p>
<p>So there you have it, disable Comment Relish and all is well with the world again.</p>
<h3>Best of Both Worlds &#8211; Proper Fix Instead of Disabling</h3>
<p>Now partly because this was <strong>a blog I was hosting for someone else</strong> and partly because <strong>I&#8217;m the type of person who&#8217;s never satisfied unless they have the answer to everything</strong>, I found a middle ground: Good server performance while still maintaining the functionality of the plugin.</p>
<p>So the main problem isn&#8217;t the query. Well maybe it is, but I didn&#8217;t want to go redesign the entire plugin. WordPress performs tons of these queries all the time and they don&#8217;t seem to cause issues. The problem is with table indexes (or lack thereof).</p>
<p>Pulling up PHPMyAdmin showed me that there&#8217;s <strong>no indexes on cr_emailed.email or comments.comment_author_email</strong>; both of which are used above. So that&#8217;s a simple fix right? Actually, no. Adding an index to the comments table was simple enough; although some people rather not mess with the WordPress core tables.</p>
<p>The problem is with the table used for Comment Relish: you <strong>can&#8217;t apply an index on wp__cr_emailed.email because it&#8217;s tinytext</strong>. Go ahead, try and there&#8217;s an error. I guess the author decided on tinytext because it would be smaller than varchar? Not sure if there&#8217;s a way arond this or not, but I really wasn&#8217;t in the mood to investigate. I&#8217;ve used varchar all my life and it&#8217;s served me well. So we simply get rid of it, then add the index:</p>
<pre class="brush: sql; title: ;">
ALTER TABLE `cr_emailed` CHANGE `email` `email` varchar(255);
ALTER TABLE wp_cr_emailed ADD INDEX ( email )
</pre>
<p>And voila!</p>
<h3>Do I Need This With The New Version?</h3>
<p><strong>The short answer is yes!</strong><br />
Since this problem has arisen there has been a new version of the plugin put out the combats this problem; there are still many problems with this however: </p>
<ol>
<li>Since this isn&#8217;t part of the official WordPress Plugins, you don&#8217;t get the upgrade notice. So I didn&#8217;t even know I was running an old version.</li>
<li>The author has decided to use to very same 1.0 version number with the new version, so you can&#8217;t even tell if you running the old version without examining the code.</li>
<li>Although there has been a database fix that uses varchar instead of tinytext and applies an index, this fix is only for <em>creation</em> of a new database. So you won&#8217;t get the benefit is your table has already been created with the old code.</li>
</ol>
<p>Hope this helps you folks who are as curious as I was or those who&#8217;ve disabled this plugin because of its issues but secretly miss what it does.</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/wordpress-25-upload-image-error-finally-fixed/" rel="bookmark" title="July 28, 2008">WordPress 2.5+ Upload Image Error &#8211; Finally Fixed!</a></li>

<li><a href="http://www.webdevelopment2.com/yay-wordpress-25-perfect/" rel="bookmark" title="April 6, 2008">Yay! WordPress 2.5. Almost Perfect</a></li>

<li><a href="http://www.webdevelopment2.com/wordpress-25-vista-blog-platforms/" rel="bookmark" title="April 14, 2008">WordPress 2.5 &#8211; The Vista of Blog Platforms</a></li>

<li><a href="http://www.webdevelopment2.com/moving-wordpress-to-a-different-domain/" rel="bookmark" title="April 2, 2007">Moving WordPress To A Different Domain</a></li>

<li><a href="http://www.webdevelopment2.com/reward-regular-readers-skip-ads/" rel="bookmark" title="September 20, 2007">Reward Your Regular Readers &#8211; Skip The Ads</a></li>
</ul><!-- Similar Posts took 4.038 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/wordpress-comment-relish-and-high-cpu-usage/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>A Bit On Open Source And Some Baz Background</title>
		<link>http://www.webdevelopment2.com/bit-open-source-baz-background/</link>
		<comments>http://www.webdevelopment2.com/bit-open-source-baz-background/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 13:03:17 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/?p=356</guid>
		<description><![CDATA[This has always been a touchy subject, especially in larger computer firms. But first, let me tell you how I got into Open Source. I started coding in Turbo Pascal 7.0, in about 1996 when I was in Grammar School. I took Turbo Pascal more as an introduction to Programming, instead of a product to [...]]]></description>
			<content:encoded><![CDATA[<p>This has always been a touchy subject, especially in larger computer firms. But first, let me tell you how I got into <a href="http://en.wikipedia.org/wiki/Open_source">Open Source</a>. I started coding in Turbo Pascal 7.0, in about 1996 when I was in Grammar School. I took Turbo Pascal more as an introduction to Programming, instead of a product to do something constructive in.</p>
<p>After Pascal, I was looking into something visual. Hence, I fell into Visual Basic 5.0. Yeah, I know, I&#8217;m sorry.</p>
<h3>Legal Issues</h3>
<p>Now this was my first step towards the open source community. I must admit, that I downloaded a pirated copy and ran with it for a while. Now, that was all well and good when I was sitting home playing around with stuff. But when it came to actually, to producing something for a market, you can&#8217;t (or should I say, shouldn&#8217;t) do that with pirated software.</p>
<p>After that, I got into web development. For this, there was a plethora of free tools available, for use. So I did that for a while. When I got back to college, I got into C++ (using Visual Studio, but still essentially free). That was a step in the right direction. However, as the semesters went on, we got more into using the .NET library. However, for my web development I never got into ASP.</p>
<h3>The First Real Plunge into Open Source &#8211; Enter PHP</h3>
<p>Bit by bit, web development gave way to web programming. This is where PHP came in. I got more familiar with PHP when I started working on different projects for clients. I chose PHP for a few main reasons:</p>
<ol>
<li><strong>Free Documentation:</strong> I could learn almost everything I needed through online documentation.</li>
<li><strong>Cost:</strong> My first problem was hosting. ASP hosts used to be almost twice as expensive as their Linux counterparts.</li>
</ol>
<h3>The Open Source Misconception</h3>
<p>One of the problems that people have with Open Source is that they think that it&#8217;s unsupported. People seem to think that open source software is written by a bunch of kids in basements or something. This is not the case, by any means.  For example, a lot of the Linux distributions are totally free and totally supported.  Wake up people; free doesn&#8217;t mean unsupported. The whole <em>&#8220;You get what you pay for&#8221;</em> isn&#8217;t always true.</p>
<h4>Why I Use Open Source Software</h4>
<p>For my personal web development, I run a very small team and we do work part time. This is no time to shell out $6,000 for a standard license of SQL Server 2005. MySQL server 5.0 is a very robust database server. It should be able to handle itself in a lot of the situations that people think they need to throw SQL Server at. Where, MySQL fails to deliver, PostgreSQL should be more than sufficient.</p>
<p>Open source software and products just make life easier. Take examples like, <a href="http://jquery.com/">jQuery</a> and <a href="http://www.cakephp.org/">CakePHP</a>. Would it be possible for an in-house team to come up with the same thing? Yes, sure? But why? Especially when a team (not just one guy) has put years into one special product. The price of the software does not dictate it&#8217;s quality.</p>
<h3>What Not To Do</h3>
<p>Now, one word of wisdom: All open source software isn&#8217;t the same. You need to do your research before diving into open source. Look up research about the product&#8217;s history, community support, and most importantly the support. If you run a very small shop, then almost anything will work for you; especially since you&#8217;re main goal would be to keep costs down.</p>
<p>However, a large company should not thumb their nose at open source software either. Unless you have a team dedicated to doing one task, and doing it well, why not utilise a tried and true method? Why do we always feel the need to reinvent the wheel? Seriously, your team may be extremely skilled, but can you guys really crank out a better Javascript Framework than <a href="http://www.JQuery.com"  class="alinks_links" onclick="return alinks_click(this);" title=""  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">jQuery</a>? I doubt it.</p>
<p>Take a hint from one of the largest; Microsoft has recenlty started <a href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx">shipping jQuery</a> with their .NET 3.5 framework. They even have intellisense support for it in Visual Studio. Open source is the way of the future, as long as we learn to use it correctly.</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/give-15-minutes-jquery-expert/" rel="bookmark" title="September 18, 2007">Give Me 15 Minutes and I&#8217;ll Make You A jQuery Expert</a></li>

<li><a href="http://www.webdevelopment2.com/nail-in-the-coffin-mamboservercom-hacked/" rel="bookmark" title="November 22, 2005">Nail in The Coffin &#8211; Mamboserver.com Hacked</a></li>

<li><a href="http://www.webdevelopment2.com/qa-with-joomla-development-leader/" rel="bookmark" title="November 1, 2005">Q&#038;A With Joomla Development Leader</a></li>

<li><a href="http://www.webdevelopment2.com/cakephp-ruby-rails-bias/" rel="bookmark" title="November 5, 2007">CakePHP vs. Ruby On Rails &#8211; A Very Bias Look at Why I Choose CakePHP</a></li>

<li><a href="http://www.webdevelopment2.com/new-domain-webdevelopment2com-new-focus-frameworks-cakephp-javascript-web-20/" rel="bookmark" title="August 22, 2007">New Domain: WebDevelopment2.com, New Focus: Frameworks, CakePHP, Javascript, Web 2.0</a></li>
</ul><!-- Similar Posts took 4.549 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/bit-open-source-baz-background/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Your Choice of Web Development Framework Doesn&#8217;t Matter</title>
		<link>http://www.webdevelopment2.com/choice-web-development-framework-matter/</link>
		<comments>http://www.webdevelopment2.com/choice-web-development-framework-matter/#comments</comments>
		<pubDate>Mon, 31 Dec 2007 18:32:28 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/choice-web-development-framework-matter/</guid>
		<description><![CDATA[After reading about Matt&#8217;s Experience with the Zend Framework, I came to the conclusion that one&#8217;s choice of a Web Development Framework doesn&#8217;t really matter. There are tons of frameworks out there and there&#8217;s a good reason for that. People still use them. If no one used a framework it would die a quick and [...]]]></description>
			<content:encoded><![CDATA[<p>After reading about <a href="http://www.pseudocoder.com/archives/2007/10/16/live-blogging-my-first-zend-framework-experience/">Matt&#8217;s Experience with the Zend Framework</a>, I came to the conclusion that one&#8217;s choice of a Web Development Framework doesn&#8217;t really matter. <strong>There are tons of frameworks out there</strong> and there&#8217;s a good reason for that. People still use them. If no one used a framework it would die a quick and painless death. Different frameworks offer different benefits to different people.</p>
<p>However, I&#8217;m willing to bet that <strong><em>First Choice</em> is one of the main factors affecting a developer&#8217;s choice of framework</strong>. I fell into CakePHP first because I had an initial choice of CakePHP and Code Igniter. I couldn&#8217;t quite get CI working quickly enough, so I jumped on CakePHP and I&#8217;ve been here ever since.</p>
<p>Something else which solidifies the <em>First Choice</em> method is that the frameworks are sufficiently different that there is a learning curve when moving from one to the other. If you&#8217;ve started using one framework effectively, learning another (even to discover potential benefits) is usually not worth the time.</p>
<p>So I say this to you; be confident in your choice of a web development framework. <a href="http://codeigniter.com/">Code Igniter</a>, CakePHP, <a href="http://www.symfony-project.org/">Symphony</a>, even <a href="http://www.rubyonrails.org/">Ruby on Rails</a>, it doesn&#8217;t matter and <strong>no one cares as long as you can crank out functional web applications</strong> in a reasonable amount of time.
<p><small>Finally on DreamHost and Loving you <a href="http://www.webdevelopment2.com/go/dreamhost/">Dreamhost</a>. You should check them out!</small></p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/enter-cakephp-rapid-development-framework-no-really/" rel="bookmark" title="July 2, 2007">Enter CakePHP &#8211; Rapid Development Framework &#8211; No Really!</a></li>

<li><a href="http://www.webdevelopment2.com/poll-results-php-framework/" rel="bookmark" title="November 28, 2007">Poll Results &#8211; What Do You Look for in a PHP Framework?</a></li>

<li><a href="http://www.webdevelopment2.com/reader-input-what-php-framework-do-you-use/" rel="bookmark" title="April 9, 2007">Reader Input: What PHP Framework Do You Use?</a></li>

<li><a href="http://www.webdevelopment2.com/ten-reasons-to-learn-c/" rel="bookmark" title="November 27, 2006">Ten Reasons to Learn C (not C++)</a></li>

<li><a href="http://www.webdevelopment2.com/understand-bias-means/" rel="bookmark" title="April 16, 2008">Do We Not Understand What Bias Means?</a></li>
</ul><!-- Similar Posts took 3.849 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/choice-web-development-framework-matter/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Poll Results &#8211; What Do You Look for in a PHP Framework?</title>
		<link>http://www.webdevelopment2.com/poll-results-php-framework/</link>
		<comments>http://www.webdevelopment2.com/poll-results-php-framework/#comments</comments>
		<pubDate>Wed, 28 Nov 2007 12:41:57 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/poll-results-php-framework/</guid>
		<description><![CDATA[Poll results for What Do You Look for in a PHP Framework are in: Most of you prefer a framework that is Quick and Easy. Hey, I&#8217;m totally with you guys on that. When deciding on a web development framework, it has to be easy. It&#8217;s no fun if it takes hours to learn and [...]]]></description>
			<content:encoded><![CDATA[<p>Poll results for <a href="http://www.webdevelopment2.com/reader-input-what-php-framework-do-you-use/">What Do You Look for in a PHP Framework</a> are in:</p>
<p style="text-align: center"><img src="http://www.webdevelopment2.com/wp-content/uploads/what-do-you-look-for-in-a-php-framework-graph.png" alt="What Do You Look for in a PHP Framework" height="385" width="500" /></p>
<p>Most of you prefer a framework that is <strong>Quick and Easy</strong>. Hey, I&#8217;m totally with you guys on that. When deciding on a web development framework, it has to be easy. It&#8217;s no fun if it takes hours to learn and saves you minutes. For me, CakePHP definitely fits this bill. The bake routines save me <em>so</em> much time during initial development.</p>
<p>Next on the list was a <strong>Less Code Needed </strong>and a <strong>Small Learning Curve</strong>. Again, that would definitely fit high on my list. I&#8217;m sorry, I&#8217;m just lazy that way.</p>
<p>That last result on the list is interesting, but expected. Not many people needed the framework to have a <strong>Small Footprint</strong>. With the type of processing that is required nowadays, sometimes the <em>lite/light</em> version doesn&#8217;t cut it. With that said, we also have a lot more processing power to push those <em>heavy</em> frameworks along. In my opinion, it&#8217;s less important that a back end framework be light as apposed to a JavaScript framework. The back end is handled strictly by the server, so the user doesn&#8217;t take the hit. With a JavaScript framework the user needs to download the entire thing. In this day and age it has become more cost effective to through some more CPU at the problem while saving weeks (or even months) in development time.
<p><small>Finally on DreamHost and Loving you <a href="http://www.webdevelopment2.com/go/dreamhost/">Dreamhost</a>. You should check them out!</small></p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/steal-browser-history-with-spyjax/" rel="bookmark" title="June 5, 2007">Steal Browser History with SpyJax</a></li>

<li><a href="http://www.webdevelopment2.com/picking-a-cms-part-1/" rel="bookmark" title="May 20, 2009">Reader Input: Picking A CMS &#8211; Part 1</a></li>

<li><a href="http://www.webdevelopment2.com/top-10-css-image-galleries-diy/" rel="bookmark" title="November 27, 2006">Top 10 CSS Image Galleries &#8211; DIY</a></li>

<li><a href="http://www.webdevelopment2.com/ajax-and-fast-cgi/" rel="bookmark" title="November 12, 2005">AJAX and Fast CGI</a></li>

<li><a href="http://www.webdevelopment2.com/reader-input-what-php-framework-do-you-use/" rel="bookmark" title="April 9, 2007">Reader Input: What PHP Framework Do You Use?</a></li>
</ul><!-- Similar Posts took 3.819 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/poll-results-php-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Development 2.0 Carnival &#8211; September 8, 2007</title>
		<link>http://www.webdevelopment2.com/web-development-20-carnival-september-8-2007/</link>
		<comments>http://www.webdevelopment2.com/web-development-20-carnival-september-8-2007/#comments</comments>
		<pubDate>Sat, 08 Sep 2007 13:50:27 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[Carnival]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.WebDevelopment2.com/web-development-20-carnival-september-8-2007/</guid>
		<description><![CDATA[I am proud to present the first edition of Carnival of Web Development 2.0. This is my first time hosting one of these things, so enjoy: General Doug Boude presents DEMYSTIFYING JSON posted at Doug Boude (rhymes with &#8216;loud&#8217;) sylv3rblade presents Stages of Software Development posted at Atma Xplorer, saying, &#8220;My take on the process [...]]]></description>
			<content:encoded><![CDATA[<p>I am proud to present the first edition of <strong>Carnival of Web Development 2.0</strong>. This is my first time hosting one of these things, so enjoy:</p>
<h3>General</h3>
<p><!-- Carnival Submission --></p>
<ol>
<li> <strong>Doug Boude</strong> presents <a href="http://www.dougboude.com/blog/1/2007/07/DEMYSTIFYING-JSON-for-myself.cfm">DEMYSTIFYING JSON</a> posted at <a href="http://www.dougboude.com/blog">Doug Boude (rhymes with &#8216;loud&#8217;) </a></li>
<li> <strong>sylv3rblade</strong> presents <a href="http://atmaxplorer.com/stages-of-software-development/">Stages of Software Development</a> posted at <a href="http://atmaxplorer.com/">Atma Xplorer</a>, saying, &#8220;My take on the process of software development&#8221;</li>
<li> <strong>prakash</strong> presents <a href="http://jayaprakashkv.blogspot.com/2007/06/identify-color-code-of-image.html">A2Z  Informative-Technology, Software, Internet, Tips, Ideas</a> posted at <a href="http://jayaprakashkv.blogspot.com/">A2Z  Informative</a>, saying, &#8220;Identifying the color code of an image on the screen is not an easy task. Usually it involves a multi step process and is time consuming. But this tool is able to find out HTML, RGB or HEX color of any pixel on the screen with just a single mouse click. This little tool is very useful for webmasters.&#8221;</li>
<li> <strong>Thorsten Ott</strong> presents <a href="http://www.sourcebench.com/category/reviews/the-ultimate-list-of-freelancing-job-sites/">Sourcebench &#8211; freelancer sites reviews</a> posted at <a href="http://www.sourcebench.com/">Sourcebench &#8211; building a better web</a>.</li>
<li> <strong>Scott H</strong> presents <a href="http://www.collegeandfinance.com/15-web-sites-college-students-cant-live-without/">15 Web Sites College Students CanÃ¢â‚¬â„¢t Live Without</a> posted at <a href="http://www.collegeandfinance.com/">College and Finance</a>, saying, &#8220;Not specifically about design, but has a great list of web sites students love, including StumbleUpon which, in terms of developing a web site, can be quite useful.&#8221;</li>
<li> <strong>Raj Sheelvant</strong> presents <a href="http://itstrategyblog.com/attention-hr-young-workers-demand-web-20/">Attention HR: Young workers demand Web 2.0</a> posted at <a href="http://itstrategyblog.com/">IT Strategy</a>, saying, &#8220;Why Web 2.0 infrastructure in corporations important to attract young talent&#8221;</li>
<li> <strong>aquariphile</strong> presents <a href="http://www.ajaxbestiary.com/2007/08/13/choosing-between-yui-css-blueprint/">Choosing Between YUI CSS &amp; Blueprint Ã‚Â» By Don Albrecht Ã‚Â» article Ã‚Â» Ajax Bestiary</a> posted at <a href="http://www.ajaxbestiary.com/">Ajax Bestiary</a>, saying, &#8220;With all the recent hype surrounding the Blueprint CSS framework, The powerful YUI framework has been lost in the noise. Both frameworks are powerful, but, which framework is right for your project?&#8221;</li>
<li> <strong>edithyeung</strong> presents <a href="http://www.edithyeung.com/2007/09/04/want-more-web-traffic/">Want More Traffic? Find Out Here?</a> posted at <a href="http://www.edithyeung.com/">Edith Yeung.Com:  Dream.  Think.  Act.</a>.</li>
<li> <strong>Amanda Harris</strong> presents <a href="http://www.ibakesaleblog.com/?p=10">Creating A Website For Your Charity</a> posted at <a href="http://www.ibakesaleblog.com/">iBakeSale Blog</a>.</li>
</ol>
<p><!-- Carnival Submission -->   <!-- Carnival Submission -->   <!-- Carnival Submission -->   <!-- Carnival Submission -->   <!-- Carnival Submission -->   <!-- Carnival Submission -->   <!-- Carnival Submission -->   <!-- Carnival Submission -->   <!-- Carnival Submission --></p>
<h3>Javascript</h3>
<p><!-- Carnival Submission --></p>
<ol>
<li> <strong>Doug Boude</strong> presents <a href="http://www.dougboude.com/blog/1/2006/09/ClientSide-Interactivity-without-Ajax.cfm">Client-Side Interactivity without Ajax</a> posted at <a href="http://www.dougboude.com/blog">Doug Boude (rhymes with &#8216;loud&#8217;)</a>, saying, &#8220;this post has a Coldfusion approach to an Ajax alternative&#8230;&#8221;</li>
</ol>
<p><!-- EDIT THIS: the conclusion begins with this paragraph: -->That concludes this edition.  Submit your blog article to the next edition of <strong>Web Development 2.0</strong> using our <a href="http://blogcarnival.com/bc/submit_2377.html" target="_blank" title="Submit an entry to Ã¢â‚¬Å“web development 2.0Ã¢â‚¬Â">carnival submission form</a>. Past posts and future hosts can be found on our <a href="http://blogcarnival.com/bc/cprof_2377.html" target="_blank" title="Blog Carnival index for Ã¢â‚¬Å“web development 2.0Ã¢â‚¬Â"> blog carnival index page</a>.</p>
<p><small>Technorati tags:  <!-- add your technorati tags here! --> <a href="http://technorati.com/tag/web+development+2.0" rel="tag">Web Development 2.0</a>, <a href="http://technorati.com/tag/blog+carnival" rel="tag">blog carnival</a>.</small></p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/web-development-20-carnival-september-24-2007/" rel="bookmark" title="September 24, 2007">Web Development 2.0 Carnival &#8211; September 24, 2007</a></li>

<li><a href="http://www.webdevelopment2.com/web-development-20-carnival/" rel="bookmark" title="November 21, 2008">Web Development 2.0 Carnival &#8211; November 21, 2008</a></li>

<li><a href="http://www.webdevelopment2.com/web-development-20-carnival-12-26-200/" rel="bookmark" title="January 10, 2009">Web Development 2.0 Carnival &#8211; December 26, 2008</a></li>

<li><a href="http://www.webdevelopment2.com/websites-on-wide-screen-how-the-other-half-lives/" rel="bookmark" title="March 28, 2007">Websites on Wide Screen &#8211; How The Other Half Lives</a></li>

<li><a href="http://www.webdevelopment2.com/another-what-is-ajax-introduction/" rel="bookmark" title="December 31, 2005">Another &#8220;What Is Ajax&#8221; Introduction</a></li>
</ul><!-- Similar Posts took 5.327 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/web-development-20-carnival-september-8-2007/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Secret of CakePHP Advanced Routing &#8211; Even Better URLs</title>
		<link>http://www.webdevelopment2.com/the-secret-of-cakephp-advanced-routing-even-better-urls/</link>
		<comments>http://www.webdevelopment2.com/the-secret-of-cakephp-advanced-routing-even-better-urls/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 14:23:01 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.WebDevelopment2.com/the-secret-of-cakephp-advanced-routing-even-better-urls/</guid>
		<description><![CDATA[The power of CakePHP has a lot to do with conventions. The framework (like many others) harnesses its power by enforcing certain conventions and standards that users must follow. You name your database tables, file names, etc; a particular way and boom, models, views and controllers are automatically created and ready for use. This is [...]]]></description>
			<content:encoded><![CDATA[<p>The power of CakePHP has a lot to do with conventions. The framework (like many others) harnesses its power by enforcing certain conventions and standards that users <em>must</em> follow. You name your database tables, file names, etc; a particular way and boom, models, views and controllers are automatically created and ready for use. This is the beauty of the MVC structure. Your URLs also follow thing structure: <em>www.site.com/controller/action/params.</em></p>
<h3>Straying From Convention</h3>
<p>But sometimes, conventions suck. Sometimes you want greater control over things, but still don&#8217;t wanna do them from scratch. The strictness of the MVC structure dictates how your URLs will look. Consider this: CakePHP has a basic pages controller, which you can use when you don&#8217;t need a model or controller. You just enter the view and voilÃƒ , a page. But your pages have a URL of:</p>
<blockquote><p><em>www.site.com/pages/page</em></p></blockquote>
<p>Wouldn&#8217;t you rather:</p>
<blockquote><p><em>www.site.com/page.htm</em></p></blockquote>
<p>The <a href="http://manual.cakephp.org/chapter/configuration">Routes Configuration</a> examples in the CakePHP manual are a bit simple. Here&#8217;s how to use a bit more advanced routing:</p>
<pre class="brush: php; title: ;">Router::connect('/(.*).htm', array('controller' =&amp;gt; 'pages', 'action' =&amp;gt; 'display'));</pre>
<p>This says, consider everything that comes in with an HTM extension and send the URL as a parameter to the <em>display</em> action on the <em>pages</em> controller.</p>
<p>The idea was <em>stolen</em> from <a href="http://cakeforge.org/projects/lumad-cms/">Lumad CMS</a>. They use the following in Rewrite in .<em>htaccess </em>for their pages:</p>
<p><code>RewriteRule    ^~(.*) content_pages/displayurl/$1 [L]</code><br />
They use a prefix of &#8216;~&#8217; instead of a suffix of &#8216;.htm&#8217;, but you get the picture. I&#8217;m sorry to disappoint you, I&#8217;m not as creative as you thought.</p>
<h3>How I Use Advanced Routing</h3>
<p>I maintain a makeshift CMS using CakePHP. In this project I have a basic model (<em>contents</em>) with a <em>title and body</em> fields, among others. I would use the pages controller, but I need end users to be able to end pages through the database.</p>
<pre class="brush: php; title: ;">Router::connect('/(.*).htm', array('controller' =&amp;gt; 'contents', 'action' =&amp;gt; 'view'));</pre>
<p>Conventions are great as long as they don&#8217;t get in the way. The great thing about CakePHP is that they frequently provide ways to get what you need done easily.</p>
<p>Make your <em>static</em> content look like static pages with Advanced routing.</p>
<p>Source: <a href="http://manual.cakephp.org/chapter/configuration">Routes Configuration</a> [CakePHP Manual]</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/cakephp-bake-baking-models-controllers-views-cakephp-12/" rel="bookmark" title="November 21, 2007">CakePHP Bake &#8211; Baking Models, Controllers and Views the CakePHP 1.2 Way</a></li>

<li><a href="http://www.webdevelopment2.com/cakephp-auth-component-tutorial-1/" rel="bookmark" title="January 8, 2008">CakePHP Auth Component For Dummies Tutorial</a></li>

<li><a href="http://www.webdevelopment2.com/cakephp-installation-guide-just-add-water-and-2-medium-eggs/" rel="bookmark" title="August 27, 2007">CakePHP Installation Guide: Just Add Water and 2 Medium Eggs</a></li>

<li><a href="http://www.webdevelopment2.com/top-5-basic-seo-tips/" rel="bookmark" title="December 27, 2007">Top 5 Basic SEO Tips &#8211; You Can Do These Yourself</a></li>

<li><a href="http://www.webdevelopment2.com/enter-cakephp-rapid-development-framework-no-really/" rel="bookmark" title="July 2, 2007">Enter CakePHP &#8211; Rapid Development Framework &#8211; No Really!</a></li>
</ul><!-- Similar Posts took 4.314 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/the-secret-of-cakephp-advanced-routing-even-better-urls/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>XAMPP Lite on USB Disk &#8211; Benchmark PHP and MySQL by Slowing Down Your Server</title>
		<link>http://www.webdevelopment2.com/xampp-lite-on-usb-disk-benchmark-php-and-mysql-by-slowing-down-your-server/</link>
		<comments>http://www.webdevelopment2.com/xampp-lite-on-usb-disk-benchmark-php-and-mysql-by-slowing-down-your-server/#comments</comments>
		<pubDate>Wed, 29 Aug 2007 14:00:04 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.WebDevelopment2.com/xampp-lite-on-usb-disk-benchmark-php-and-mysql-by-slowing-down-your-server/</guid>
		<description><![CDATA[To develop PHP and MySQL on a Windows machine, I usually use WAMP. I had tried XAMPP before, but I found that it was a bit bloated, with the OpenSSL and FTP Server, etc. So WAMP it was. But lately, I decided to give XAMPP another try and I like what I&#8217;ve got so far. [...]]]></description>
			<content:encoded><![CDATA[<p>To develop PHP and MySQL on a Windows machine, I usually use <a href="http://www.wampserver.com/en/">WAMP</a>. I had tried <a href="http://www.apachefriends.org/en/xampp.html">XAMPP</a> before, but I found that it was a bit bloated, with the OpenSSL and FTP Server, etc. So WAMP it was. But lately, I decided to give XAMPP another try and I like what I&#8217;ve got so far.</p>
<p><a href="http://www.apachefriends.org/en/xampp.html" title="XAMPP Lite"><img src="http://www.webdevelopment2.com/wp-content/uploads/xampp-lite.gif" title="XAMPP is an easy to install Apache distribution containing MySQL, PHP and Perl. XAMPP is really very easy to install and to use - just download, extract and start." alt="XAMPP is an easy to install Apache distribution containing MySQL, PHP and Perl. XAMPP is really very easy to install and to use - just download, extract and start." align="left" border="0" /></a>For the past three weekends, I&#8217;ve been away from my personal computer. The only life line I&#8217;ve had is my stock of <a href="http://portableapps.com/apps">Portable Apps</a> on my 512MB USB disk. So I&#8217;ve been neglecting a few projects lately. But all of this has changed as of Friday. I&#8217;ve discovered XAMPP Lite. It&#8217;s just what it says it is, a Lite version of XAMPP. The beauty of this is that it can also run from a USB disk. There&#8217;s no install required. So partnered with XAMPP Lite, <a href="http://portableapps.com/apps/internet/firefox_portable">Mozilla Firefox, Portable Edition</a>, <a href="http://portableapps.com/apps/development/notepadpp_portable">NotePad++ Portable</a>, and, <a href="http://portableapps.com/apps/internet/filezilla_portable">FileZilla Portable</a> I can take my development on the road to anywhere I can stick in my USB disk.</p>
<h3>Added Bonus</h3>
<p>I don&#8217;t have to tell you that running an Apache web server, PHP 5.0 and MySQL from a USB disk is not a great idea for a production environment. Disk access to the USB disk is much slower than a hard drive. This has an unexpected benefit that I&#8217;ve noticed with CakePHP. Queries that used to take 3 milliseconds and 4 milliseconds now take 300 milliseconds and 400 milliseconds.</p>
<p>So why am I excited about stuff running so slowly? When you have a table with 20 fields, but only regularly use five (5), CakePHP makes it so easy write <em>$this-&gt;paginate() </em>or <em>$this-&gt;findAll(); </em>to retrieve results that we sometimes forget the all 20 fields are being returned every single time. You see the debug say that &#8220;<em>3 queries took 10 ms</em>&#8220;<em>.</em> You don&#8217;t really think much of it, but when the debug window says &#8220;<em>3 queries took 500 ms</em>&#8220;, you realize that you need to do some work. It makes you think about things that normalizing databases, and caching models, controllers, and views.</p>
<h3>Installing XAMPP</h3>
<p>There&#8217;s not really much to it. You <a href="http://www.apachefriends.org/en/xampp-windows.html#646">download XAMMP Lite</a>, dump it in a folder. That&#8217;s the first part. Now the configuration is where you have to be careful. There are two possible configurations:</p>
<ol>
<li>Root Directory Installation
<ul>
<li>Drop the XAMPPlite folder to the root of the USB Disk.</li>
<li>Modify your Apache and PHP configuration files as you normally would.</li>
</ul>
</li>
<li>Sub Directory Installation
<ul>
<li>Drop the XAMPPlite folder in a folder of your choice.</li>
<li>Run <em>setup_xampp.bat</em>. This will go through every configuration file and set the path based on the drive letter and installation directory. The problem with this installation is that you&#8217;ll have to do this every time you move to a system with a different drive setup (eg. At home my USB is G:, at work it&#8217;s F:)</li>
<li>Modify your Apache and PHP configuration files as you normally would.</li>
</ul>
</li>
</ol>
<p>Everything else you do is as normal. Happy developing. At 130 MB you can&#8217;t go wrong. At 130 MB a pop, you can&#8217;t go wrong.</p>
<p>Source: <a href="http://www.apachefriends.org/en/xampp-windows.html646">XAMPP 1.6.3a</a> [Apache Friends]</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/quick-multiple-local-roots-wamp/" rel="bookmark" title="November 16, 2007">Here&#8217;s a Quick Way to Use Multiple Local Roots With WAMP</a></li>

<li><a href="http://www.webdevelopment2.com/fast-cgi-installation/" rel="bookmark" title="November 18, 2005">Fast CGI Installation</a></li>

<li><a href="http://www.webdevelopment2.com/cakephp-installation-guide-just-add-water-and-2-medium-eggs/" rel="bookmark" title="August 27, 2007">CakePHP Installation Guide: Just Add Water and 2 Medium Eggs</a></li>

<li><a href="http://www.webdevelopment2.com/cross-browser-compatible-designs/" rel="bookmark" title="December 26, 2007">Browsers Have Multiple Personalities, Your Designs Should Too</a></li>

<li><a href="http://www.webdevelopment2.com/installing-a-lamp-web-server-system-with-fedora-core-6/" rel="bookmark" title="October 31, 2006">Installing A LAMP Web Server System With Fedora Core 6</a></li>
</ul><!-- Similar Posts took 5.146 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/xampp-lite-on-usb-disk-benchmark-php-and-mysql-by-slowing-down-your-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CakePHP Installation Guide: Just Add Water and 2 Medium Eggs</title>
		<link>http://www.webdevelopment2.com/cakephp-installation-guide-just-add-water-and-2-medium-eggs/</link>
		<comments>http://www.webdevelopment2.com/cakephp-installation-guide-just-add-water-and-2-medium-eggs/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 15:04:20 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.WebDevelopment2.com/cakephp-installation-guide-just-add-water-and-2-medium-eggs/</guid>
		<description><![CDATA[Introduction As you guys know, I&#8217;ve recently discovered the marvels of rapid web development with CakePHP. This shall be the first in a long serious of CakePHP related material coming from me since I&#8217;ve now veered off on a slightly different focus. After a short analysis, I&#8217;ve picked CakePHP as my framework of choice. I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<h3>Introduction</h3>
<p>As you guys know, I&#8217;ve recently discovered the marvels of rapid web development with CakePHP. This shall be the first in a long serious of CakePHP related material coming from me since I&#8217;ve now veered off on a <a title="New Domain and New Focus: Web Development 2.0, CakePHP" href="http://www.webdevelopment2.com/new-domain-webdevelopment2com-new-focus-frameworks-cakephp-javascript-web-20/">slightly different focus</a>.</p>
<p>After a <a href="http://www.webdevelopment2.com/enter-cakephp-rapid-development-framework-no-really/">short analysis</a>, I&#8217;ve picked <a href="http://www.cakephp.org/">CakePHP</a> as my framework of choice. I&#8217;ve been struggling through it for a few months now, but it&#8217;s by far better than the alternative of coding by hand (Yeah, I know I&#8217;m lazy). I&#8217;ve struggled through it so that you don&#8217;t have to.</p>
<h3>Downloading &#8211; Stable or Alpha Version</h3>
<p>Step one is <a href="http://cakeforge.org/projects/cakephp/">downloading CakePHP</a>. The first problem that you&#8217;ll run into is that there are two (2) versions to pick from: <strong>Stable 1.1 and Alpha 1.2</strong>. When I first started out, I needed to use CakePHP for a project instantly, so I decided to with the stable version because the word <em>alpha</em> scared me a little bit. I mean, it&#8217;s not even beta yet.</p>
<p>That was my big mistake. A lot of seasoned CakePHP developers will tell you that the alpha version is ready to go and can (and has been) used in production environments. There is of course the slim chance that some key function or component might change slightly, and you application may break on an upgrade for the alpha version, but that&#8217;s a chance that I&#8217;m willing to take. The <strong>alpha version has a lot more in place (emailing templates, authentication, pagination of results</strong>, etc), that it just makes everything worthwhile. Also, a lot of the newer tutorials you&#8217;ll find make specific reference to version 1.2. And let&#8217;s face it, version 1.2 is just way cooler.</p>
<p>If you&#8217;re just starting out, <strong>I still recommend the alpha version 1.2</strong>, because by the time you become well versed and need to crank out a web application or site version 1.2 may well be stable.</p>
<h3>Upload to Server</h3>
<p>One of the key things I was looking for with a PHP framework is compatibility with PHP 4.0. Some of my clients are on older servers and it&#8217;s harder to get someone who is already paying for a host to switch just because you said so. Here are the server requirements from the <a href="http://manual.cakephp.org/">CakePHP manual</a>:</p>
<blockquote>
<ul>
<li>An HTTP server (like Apache) with the following enabled:             sessions, mod_rewrite (not absolutely necessary but             preferred)</li>
<li>PHP 4.3.2 or greater. Yes, CakePHP works great in either PHP             4 or 5.</li>
<li>A database engine (right now, there is support for MySQL,             PostgreSQL and a wrapper for ADODB).</li>
</ul>
</blockquote>
<p>The manual recommends various methods of installation for development purposes and production environments. These recommendations are all well and good if you have your own server, but some things are simply not configurable with the shared hosts that most of us use these days.</p>
<p>I personally don&#8217;t see a problem with the development setup. The take the CakePHP folder and dump it the the www root of the site (if it&#8217;s the main site of course) or a subdirectory. The one tweak I would make, if your host allows, is to point your www root for that domain to the <em>app/webroot/</em> folder.</p>
<p>These are recommended for security purposes, but I haven&#8217;t seen a problem with any installation that I&#8217;ve had. As a matter of fact, this is one of the few times that I&#8217;ve heard someone recommend this type of setup. Even well established packages like <a href="http://www.wordpress.org"  class="alinks_links" onclick="return alinks_click(this);" title=""  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">WordPress</a>, <a href="http://www.simplemachines.org/"  class="alinks_links" onclick="return alinks_click(this);" title=""  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">SMF</a>, Zen Photo, <a href="http://www.phpbb.com"  class="alinks_links" onclick="return alinks_click(this);" title=""  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">phpBB</a>, etc just need you to dump files in a folder.</p>
<p>There is something to be said about the recommended setup though. If you happen to run multiple installations of CakePHP and have different applications, in theory, all of them can share the same CakePHP base code and you&#8217;d have different application folders. But for right now, this is just a <em>get up and get started</em> guide. The only thing that you need to ensure is that the <em>app/tmp</em> directory and all subdirectories are writable.</p>
<h3>Configuration</h3>
<p>Everything you&#8217;ll need is in the app/config folder. The file <strong><em>core.php</em></strong> houses, well, core configuration settings. Here are a few of the main ones:</p>
<ol>
<li>
<pre class="brush: php; title: ;">define('DEBUG', 3);</pre>
<p>set&#8217;s the debug level. Use 0 for production</li>
<li>
<pre class="brush: php; title: ;">define('CAKE_ADMIN', 'admin');</pre>
<p>You&#8217;re almost always going to need this, so you might as well uncomment it now. This sets up admin routing so you can have urls like site.com/admin/events/</li>
<li>
<pre class="brush: php; title: ;">define('CAKE_SESSION_STRING', 'DYhG93guVoUubWwiR2G0FgaC9mi');</pre>
<p>A random string used for CakePHP sessions. You need to change this into something unique  or you might potentially leave holes in your app</li>
</ol>
<p>Then we have the <strong><em>database.php</em></strong> file. Modify the following to suite your database configuration:</p>
<pre class="brush: php; title: ;">var $default = array(
'driver' =&gt; 'mysql',
'persistent' =&gt; false,
'host' =&gt; 'localhost',
'login' =&gt; 'username',
'password' =&gt; 'passowrd',
'database' =&gt; 'database name',
'prefix' =&gt; ''
);</pre>
<p>I personally have a host that limits the number of MySQL databases that you&#8217;re allowed, so I&#8217;m forced to dump everything into one database. This makes the <em>prefix</em> option invaluable to me.</p>
<p>Lastly we have <strong><em>routes.php</em></strong>. This file is used to for URL routing. Consider the following:</p>
<pre class="brush: php; title: ;">Router::connect('/', array('controller' =&amp;gt; 'contents', 'action' =&amp;gt; 'view', 'home'));</pre>
<p>This is going to route the homepage site.com/ to my <em>contents</em> controller and run the <em>view</em> action and pass to this the parameter <em>home. </em>This is the same as going to: site.com/contents/view/home/. We can also do some other marvelous things with routing, but I&#8217;ll save those for later.</p>
<p>Depending on what your setup is and where you host, you might have to make modifications to the .htaccess file. I haven&#8217;t narrowed down  an explanation yet, but on various shared hosts, adding &#8220;<em>RewriteBase /</em>&#8221; solves a lot of problems, just keep that in mind.</p>
<p>Read more on the <a title="CakePHP configurations" href="http://manual.cakephp.org/chapter/configuration">CakePHP manual</a>.</p>
<h3>Launch</h3>
<p>Launch CakePHP and make sure your start up screen comes up. Then fire away are your Models, Views and Controllers.</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/the-secret-of-cakephp-advanced-routing-even-better-urls/" rel="bookmark" title="September 6, 2007">The Secret of CakePHP Advanced Routing &#8211; Even Better URLs</a></li>

<li><a href="http://www.webdevelopment2.com/quick-multiple-local-roots-wamp/" rel="bookmark" title="November 16, 2007">Here&#8217;s a Quick Way to Use Multiple Local Roots With WAMP</a></li>

<li><a href="http://www.webdevelopment2.com/xampp-lite-on-usb-disk-benchmark-php-and-mysql-by-slowing-down-your-server/" rel="bookmark" title="August 29, 2007">XAMPP Lite on USB Disk &#8211; Benchmark PHP and MySQL by Slowing Down Your Server</a></li>

<li><a href="http://www.webdevelopment2.com/why-my-wordpress-27-install-failed/" rel="bookmark" title="December 11, 2008">Why My WordPress 2.7 Install &#8220;Failed&#8221;</a></li>

<li><a href="http://www.webdevelopment2.com/cakephp-bake-baking-models-controllers-views-cakephp-12/" rel="bookmark" title="November 21, 2007">CakePHP Bake &#8211; Baking Models, Controllers and Views the CakePHP 1.2 Way</a></li>
</ul><!-- Similar Posts took 5.641 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/cakephp-installation-guide-just-add-water-and-2-medium-eggs/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>New Domain: WebDevelopment2.com, New Focus: Frameworks, CakePHP, Javascript, Web 2.0</title>
		<link>http://www.webdevelopment2.com/new-domain-webdevelopment2com-new-focus-frameworks-cakephp-javascript-web-20/</link>
		<comments>http://www.webdevelopment2.com/new-domain-webdevelopment2com-new-focus-frameworks-cakephp-javascript-web-20/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 15:00:40 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/blog/new-domain-webdevelopment2com-new-focus-frameworks-cakephp-javascript-web-20.htm</guid>
		<description><![CDATA[New Domain I has finally occurred to me that I should have gotten my own domain name a long time ago. Really, I don&#8217;t know what I was waiting for, but it was about time. Since my focus is Web 2.0, WebDevelopment2.com was an obvious choice. I&#8217;ve already written about moving wordpress to a different [...]]]></description>
			<content:encoded><![CDATA[<h3>New Domain</h3>
<p>I has finally occurred to me that I should have gotten my own domain name a long time ago. Really, I don&#8217;t know what I was waiting for, but it was about time. Since my focus is Web 2.0, WebDevelopment2.com was an obvious choice. I&#8217;ve already written about moving <a href="http://www.wordpress.org"  class="alinks_links" onclick="return alinks_click(this);" title=""  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">wordpress</a> to a different domain, so moving to this domain was walk in the park. I loaded up PhpMyAdmin and exported my database. Pulled up Notepad++ and did a search and replace for my old URL to the new one. Saved the file, zipped it back up, and uploaded it to the server. Since I usually deal with large databases, I didn&#8217;t even bother trying to load into PhpMyAdmin. Bigdump is now my favorite database importer for MySQL.</p>
<p>Finally, I loaded up the  .htaccess file on the old domain name and slapped in a RewriteRule with a 301 redirect to WebDevelopment2.com. And Viola,Ã‚  here we haveÃ‚  WordPressÃ‚  blog perfectly redirected, without losing a single inbound link. Sure, the Page Rank on the domain name is 0 (for now), but with a name like Web Development, it won&#8217;t be for long.</p>
<h3> New Focus</h3>
<p>I must admit, that when I started this blog I was only vaguely interested in web development and web design. My interests usually hop about like that. I started this blog when AJAX hit the scene. It was the next hottest thing and the birth of Web 2.0. However, coding AJAX, although not difficult, was tedious. And we all know, I don&#8217;t like tedium.</p>
<p>Lately, things have gotten a bit more serious, with respect to my interests in web development. But, I&#8217;m no less lazy. As a result, my focus (and hence the focus of this blog) is going to shift slightly. Many of you will not notice, but those of you who have been paying attention will see that something has changed. I&#8217;ve come to learn the beauty of web development frameworks, such as CakePHP for PHP (duh), Protoype and <a href="http://www.JQuery.com"  class="alinks_links" onclick="return alinks_click(this);" title=""  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">JQuery</a> for Javascript and AJAX, and even Blueprint for CSS. Don&#8217;t worry, if you haven&#8217;t heard of any of these, you soon will. Being as lazy as I am, the DRY (<strong>D</strong>o not <strong>R</strong>epeat <strong>Y</strong>ourself)Ã‚  principle naturally has you gravitating towards frameworks. If someone else; not just someone else, but an entire team of people, work on product for months and even years, I tend to think that they&#8217;ve done a better job than I ever code.</p>
<p>This is the new focus of my blog and I hope I don&#8217;t lose any of you guys and can bring greater quality and relevance to the things you read here.</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/moving-wordpress-to-a-different-domain/" rel="bookmark" title="April 2, 2007">Moving WordPress To A Different Domain</a></li>

<li><a href="http://www.webdevelopment2.com/choice-web-development-framework-matter/" rel="bookmark" title="December 31, 2007">Your Choice of Web Development Framework Doesn&#8217;t Matter</a></li>

<li><a href="http://www.webdevelopment2.com/wordpress-comment-relish-and-high-cpu-usage/" rel="bookmark" title="December 29, 2008">Comment Relish Plugin + High CPU Usage &#8211; Fixed The Right Way</a></li>

<li><a href="http://www.webdevelopment2.com/understand-bias-means/" rel="bookmark" title="April 16, 2008">Do We Not Understand What Bias Means?</a></li>

<li><a href="http://www.webdevelopment2.com/quick-multiple-local-roots-wamp/" rel="bookmark" title="November 16, 2007">Here&#8217;s a Quick Way to Use Multiple Local Roots With WAMP</a></li>
</ul><!-- Similar Posts took 3.829 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/new-domain-webdevelopment2com-new-focus-frameworks-cakephp-javascript-web-20/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Enter CakePHP &#8211; Rapid Development Framework &#8211; No Really!</title>
		<link>http://www.webdevelopment2.com/enter-cakephp-rapid-development-framework-no-really/</link>
		<comments>http://www.webdevelopment2.com/enter-cakephp-rapid-development-framework-no-really/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 02:14:54 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/cakephp/enter-cakephp-rapid-development-framework-no-really.htm</guid>
		<description><![CDATA[Almost two months ago I mentioned that I was looking into some PHP Frameworks I must say, that I&#8217;ve procrastinated with the whole thing. Since then I&#8217;ve caught up on a few. A friend of mine tried introducing me to Code Igniter framework. I didn&#8217;t really get a good feel for it. He mentioned that [...]]]></description>
			<content:encoded><![CDATA[<p>Almost two months ago I mentioned that I was looking into some <a href="http://www.webdevelopment2.com/?s=php+framework&amp;submit=Search">PHP Frameworks</a> I must say, that I&#8217;ve procrastinated with the whole thing. Since then I&#8217;ve caught up on a few. A friend of mine tried introducing me to <a href="http://codeigniter.com/" onclick="javascript:urchinTracker ('/outbound/article/codeigniter.com');">Code Igniter</a> framework. I didn&#8217;t really get a good feel for it. He mentioned that it was more powerful and flexible, but I&#8217;m lazy, so I was looking for a lazy man PHP Framework.</p>
<h4>Enter <a href="http://cakephp.org/">CakePHP</a></h4>
<p>Here&#8217;s a bit of background. I know you&#8217;ve heard of Ruby on Rails (RoR). I mean who hasn&#8217;t? Well, I&#8217;m one of those guys who never paid it much mind, and for that I was wrong <img src='http://www.webdevelopment2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . RoR introduces the <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC</a> model: <a href="http://en.wikipedia.org/wiki/Model-view-controller">Model-View-Controller</a> pattern. What these Frameworks do is bring this pattern to the PHP platform and I love them for it.</p>
<p>CakePHP is a bit simpler than <a href="http://codeigniter.com/" onclick="javascript:urchinTracker ('/outbound/article/codeigniter.com');">Code Igniter</a> at first, so that&#8217;s what drew me to it. However, this weekend I stumbled upon the <a href="http://www.cakephp.org/screencasts/view/1">Baking</a> capability of CakePHP and I was hooked. I have an upcoming project, which I&#8217;ve decided to use CakePHP on. I will keep you posted on how things go.</p>
<p>This is what helped me make my decision: <a href="http://snook.ca/archives/php/codeigniter_vs_cakephp/#c50477">CodeIgniter vs. CakePHP</a></p>
<p>Good Luck to you guys.</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/choice-web-development-framework-matter/" rel="bookmark" title="December 31, 2007">Your Choice of Web Development Framework Doesn&#8217;t Matter</a></li>

<li><a href="http://www.webdevelopment2.com/reader-input-what-php-framework-do-you-use/" rel="bookmark" title="April 9, 2007">Reader Input: What PHP Framework Do You Use?</a></li>

<li><a href="http://www.webdevelopment2.com/poll-results-php-framework/" rel="bookmark" title="November 28, 2007">Poll Results &#8211; What Do You Look for in a PHP Framework?</a></li>

<li><a href="http://www.webdevelopment2.com/how-do-i-pick-an-ajax-framework-and-why-should-i-care/" rel="bookmark" title="March 20, 2007">How Do I Pick An AJAX Framework And Why Should I Care</a></li>

<li><a href="http://www.webdevelopment2.com/understand-bias-means/" rel="bookmark" title="April 16, 2008">Do We Not Understand What Bias Means?</a></li>
</ul><!-- Similar Posts took 3.701 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/enter-cakephp-rapid-development-framework-no-really/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How To Make PayPerPost and Google Adsense Play Nice &#8211; MightyAdsense Plugin Hack</title>
		<link>http://www.webdevelopment2.com/how-to-make-payperpost-and-google-adsense-play-nice-mightyadsense-plugin-hack/</link>
		<comments>http://www.webdevelopment2.com/how-to-make-payperpost-and-google-adsense-play-nice-mightyadsense-plugin-hack/#comments</comments>
		<pubDate>Mon, 25 Jun 2007 00:33:03 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Money]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/blog/how-to-make-payperpost-and-google-adsense-play-nice-mightyadsense-plugin-hack.htm</guid>
		<description><![CDATA[MightyAdsense &#8211; Automatically Inject Ads The MightyAdsense Plugin has many useful options. You can store up to 10 different sets of ads for various locations on your blog. You can insert them into your template by calling one simple function instead of having to paste entire code snippets for the ads. Since all your code [...]]]></description>
			<content:encoded><![CDATA[<h4>MightyAdsense &#8211; Automatically Inject Ads</h4>
<p>The <a href="http://mightyhitter.com/main-page/plugins/mightyadsense/">MightyAdsense Plugin</a> has many useful options. You can store up to 10 different sets of ads for various locations on your blog. You can insert them into your template by calling one simple function instead of having to paste entire code snippets for the ads. Since all your code for the ads are stored in <a href="http://www.wordpress.org"  class="alinks_links" onclick="return alinks_click(this);" title=""  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">WordPress</a>, it makes changing the format of an ad a breeze.</p>
<p>But here&#8217;s where the magic comes in. You can chose certain ads to be automatically inserted into posts and pages. One your homepage, category list, etc; where you list many different posts on one page, you can chose to insert specific ads into certain ads on the page. Namely the first, second, and third posts. This is the set up I have for my first post:</p>
<p><a rel="lightbox" href="http://www.webdevelopment2.com/wp-content/uploads/2007/ads/ad_post_1.png"><img title="ad_post_1.png" src="http://www.webdevelopment2.com/wp-content/uploads/2007/ads/.thumbs/.ad_post_1.png" border="0" alt="ad_post_1.png" width="400" height="376" /></a></p>
<p>The second post I leave blank, but have the following on the third:<br />
<a rel="lightbox" href="http://www.webdevelopment2.com/wp-content/uploads/2007/ads/ad_post_3.png"><img title="ad_post_3.png" src="/wp-content/uploads/2007/ads/.thumbs/.ad_post_3.png" border="0" alt="ad_post_3.png" width="400" height="206" /></a></p>
<p>Now this is what I have on every page/post:<a rel="lightbox" href="http://www.webdevelopment2.com/wp-content/uploads/2007/ads/ad_post.png"><img title="ad_post.png" src="http://www.webdevelopment2.com/wp-content/uploads/2007/ads/.thumbs/.ad_post.png" border="0" alt="ad_post.png" width="400" height="382" /></a></p>
<h4>PayPerPost Says No Ads</h4>
<p>PayPerPost has recently modified their <a href="http://payperpost.com/company/tos.html">Terms of Service</a>:</p>
<blockquote><p>Inline Ads and Links. There are to be no third party links, ads or other detractors located within the sponsored post.</p></blockquote>
<p>Now this has seriously thrown a kink into my normal blogging activity. I guess I could change the tight of ad or change the placement of the ad. But over time I&#8217;ve come to realize that this in post block ad is the highest paying ad on my site. It makes sense, since the ad is directly related to the post it is in. MightyAdsense currently has no option to manually exclude certain posts from having ads. So it&#8217;s all or nothing, Google Adsense or PayPerPost. Why can&#8217;t we have the best of both worlds? Well now you can!</p>
<h4>Solution: MightyAdsense Hack &#8211; Automatically Exclude Certain Categories</h4>
<p>Now, as you can tell, I&#8217;m a big fan of the whole automatic thing, but it does take a little bit homework.</p>
<ol>
<li><strong>Ensure that all PayPerPost posts are in a particular category.</strong><br />
My posts are always in the category: Sponsored Posts.</li>
<li><strong>Find the Category ID</strong><br />
Go to the Manage menu in your WordPress administrator menu, click Categories, then find the ID in the, um&#8230;well, ID column.</li>
<li><strong>Administer the MightyAdsense </strong><strong>Hack</strong><br />
Open up the MightyAdsense plugin in a text editor. We&#8217;re looking in the area of line 373 (ver. 4.1. Yours might vary) for the following function:</p>
<pre class="brush: php; title: ;">function mightyadsense_generateads($content)</pre>
<p>This function starts with the code to insert the ads into a single post:
<pre class="brush: php; title: ;">if (is_single())</pre>
<p>. So, again we&#8217;re looking around line 385:</p>
<pre class="brush: php; title: ;">//reach the right assignment.
$adsstr=getAds($p,$content);
//exit the loop
$p=1000;
$mai=1000;</pre>
<p>This is what actually ads the ad code. Around the above code we add the following:</p>
<pre class="brush: php; title: ;">
if (!in_category(9))    // PayPerPost Hack
{
$adsstr=getAds($p,$content);
//exit the loop
$p=1000;
$mai=1000;
}</pre>
<p>Now, I think you can follow me here. My Sponsored Post category id is 9. So we&#8217;re saying &#8220;insert this ad everywhere except in posts with category ID 9&#8243;.</li>
</ol>
<p>Now obviously, there are some disadvantages to this. You need to edit the code for each different blog you own. What would be ideal is if you could add some option to the plugin where you user could select the category they wish to exclude. But, I&#8217;m not a WordPress plugin creator and I did this on my lunch hour.</p>
<p>This way we keep ads out of certain posts and keep PayPerPost happy and still have ads in the rest of our posts. I hope this helps the masses out there.</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/reward-regular-readers-skip-ads/" rel="bookmark" title="September 20, 2007">Reward Your Regular Readers &#8211; Skip The Ads</a></li>

<li><a href="http://www.webdevelopment2.com/payperposts-answer-google-pagerank-issue-real-rank/" rel="bookmark" title="November 26, 2007">PayPerPost&#8217;s Answer To The Google PageRank Issue &#8211; Real Rank</a></li>

<li><a href="http://www.webdevelopment2.com/feedburner-google-search-cache-instant-blog-back-up/" rel="bookmark" title="May 10, 2007">FeedBurner + Google search cache =  Instant Blog Back Up</a></li>

<li><a href="http://www.webdevelopment2.com/yay-wordpress-25-perfect/" rel="bookmark" title="April 6, 2008">Yay! WordPress 2.5. Almost Perfect</a></li>

<li><a href="http://www.webdevelopment2.com/wordpress-25-vista-blog-platforms/" rel="bookmark" title="April 14, 2008">WordPress 2.5 &#8211; The Vista of Blog Platforms</a></li>
</ul><!-- Similar Posts took 3.676 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/how-to-make-payperpost-and-google-adsense-play-nice-mightyadsense-plugin-hack/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Web 2.0 Buttons On The Fly</title>
		<link>http://www.webdevelopment2.com/web-20-buttons-on-the-fly/</link>
		<comments>http://www.webdevelopment2.com/web-20-buttons-on-the-fly/#comments</comments>
		<pubDate>Mon, 04 Jun 2007 14:34:52 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/general/web-20-buttons-on-the-fly.htm</guid>
		<description><![CDATA[Now I&#8217;ve never really been a Photoshop guy. I just don&#8217;t have an eye for that stuff, even if it may be very basic. What&#8217;s my solution? My Cool Button. This service allows you to created, not to bad if I do say so myself, Web 2.0 buttons on the fly. A lil&#8217; PHP and [...]]]></description>
			<content:encoded><![CDATA[<p>Now I&#8217;ve never really been a Photoshop guy. I just don&#8217;t have an eye for that stuff, even if it may be very basic. What&#8217;s my solution? <a href="http://www.mycoolbutton.com/">My Cool Button</a>. This service allows you to created, not to bad if I do say so myself, Web 2.0 buttons on the fly.</p>
<p>A lil&#8217; PHP and GD2 sure does go a long way these days.</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/review-staticpagebuilder/" rel="bookmark" title="September 18, 2007">Review: StaticPageBuilder</a></li>

<li><a href="http://www.webdevelopment2.com/fixing-the-back-button-and-enabling-bookmarking-for-ajax-apps/" rel="bookmark" title="December 29, 2005">Fixing the Back Button and Enabling Bookmarking for AJAX Apps</a></li>

<li><a href="http://www.webdevelopment2.com/javascript-reflection-wet-floor-effect/" rel="bookmark" title="December 12, 2006">JavaScript Reflection &#8211; Wet Floor Effect</a></li>

<li><a href="http://www.webdevelopment2.com/dynamic-paypal-buttons-via-javascript/" rel="bookmark" title="October 30, 2006">Dynamic Paypal Buttons via Javascript</a></li>

<li><a href="http://www.webdevelopment2.com/optmize-images-for-the-web/" rel="bookmark" title="November 18, 2006">Optmize Images for the Web</a></li>
</ul><!-- Similar Posts took 3.682 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/web-20-buttons-on-the-fly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reader Input: What PHP Framework Do You Use?</title>
		<link>http://www.webdevelopment2.com/reader-input-what-php-framework-do-you-use/</link>
		<comments>http://www.webdevelopment2.com/reader-input-what-php-framework-do-you-use/#comments</comments>
		<pubDate>Tue, 10 Apr 2007 02:23:48 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/2007/04/09/reader-input-what-php-framework-do-you-use.htm</guid>
		<description><![CDATA[There are a bunch of PHP frameworks, too many if you ask me. I&#8217;ve tinkered around with CakePHP, Zend Framework, and Code Igniter. I&#8217;m curious to know what you guys have been using and what you find quick and easy. What do you look for in a PHP Framework? Note: There is a poll embedded [...]]]></description>
			<content:encoded><![CDATA[<p>There are a bunch of <a href="http://en.wikipedia.org/wiki/PHP_frameworks#PHP">PHP frameworks</a>, too many if you ask me. I&#8217;ve tinkered around with <a href="http://cakephp.org/">CakePHP</a>, <a href="http://framework.zend.com/">Zend Framework</a>, and <a href="http://codeigniter.com/">Code Igniter</a>. I&#8217;m curious to know what you guys have been using and what you find quick and easy.</p>
<p>What do you look for in a PHP Framework?</p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/choice-web-development-framework-matter/" rel="bookmark" title="December 31, 2007">Your Choice of Web Development Framework Doesn&#8217;t Matter</a></li>

<li><a href="http://www.webdevelopment2.com/enter-cakephp-rapid-development-framework-no-really/" rel="bookmark" title="July 2, 2007">Enter CakePHP &#8211; Rapid Development Framework &#8211; No Really!</a></li>

<li><a href="http://www.webdevelopment2.com/poll-results-php-framework/" rel="bookmark" title="November 28, 2007">Poll Results &#8211; What Do You Look for in a PHP Framework?</a></li>

<li><a href="http://www.webdevelopment2.com/how-do-i-pick-an-ajax-framework-and-why-should-i-care/" rel="bookmark" title="March 20, 2007">How Do I Pick An AJAX Framework And Why Should I Care</a></li>

<li><a href="http://www.webdevelopment2.com/understand-bias-means/" rel="bookmark" title="April 16, 2008">Do We Not Understand What Bias Means?</a></li>
</ul><!-- Similar Posts took 3.450 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/reader-input-what-php-framework-do-you-use/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Moving WordPress To A Different Domain</title>
		<link>http://www.webdevelopment2.com/moving-wordpress-to-a-different-domain/</link>
		<comments>http://www.webdevelopment2.com/moving-wordpress-to-a-different-domain/#comments</comments>
		<pubDate>Mon, 02 Apr 2007 14:30:11 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[domain]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/2007/04/02/moving-wordpress-to-a-different-domain.htm</guid>
		<description><![CDATA[No, I&#8217;m not moving, not yet anyway. But Lava is. She scored a domain name which describes her blog so perfectly, that she couldn&#8217;t help but nab it up: HowISaveMoney.net. Now what are the odds that this domain would still be lying around? Lava finally made the big step and &#8220;moved into her own place&#8220;. [...]]]></description>
			<content:encoded><![CDATA[<p>No, I&#8217;m not moving, not yet anyway. But <a href="http://www.HowISaveMoney.net">Lava </a>is. She scored a domain name which describes her blog so perfectly, that she couldn&#8217;t help but nab it up: <a href="http://www.HowISaveMoney.net/" title="How I Save Money"><strong>HowISaveMoney.net</strong></a>. Now what are the odds that this domain would still be lying around?</p>
<p><a href="http://www.HowISaveMoney.net">Lava</a> finally made the big step and &#8220;<a href="http://www.howisavemoney.net/2007/04/01/im-getting-my-own-place/">moved into her own place</a>&#8220;. Moving domains is always such a hassle, but there are a few things that make the process a little bit easier. I was the Administrator during this move and I must say it was a little bit involved, but I think I got it done.</p>
<h4>The Domain</h4>
<p>The domain was purchase at <a href="http://www.1and1.com">1and1.com</a>. Why not <a href="http://www.networksolutions.com" title="Web Hosting, web site design and domains from Network Solutions">NetSolutions</a>, <a href="http://www.yahoo.com">Yahoo</a>, <a href="http://www.GoDaddy.com">GoDaddy</a>? Because they all have great promotional deals but then it&#8217;s upward of $8 to renew every year. <a href="http://www.WebDevelopment2.com/go/1and1"  class="alinks_links" onclick="return alinks_click(this);" title="1and1 Hosting"  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">1and1</a> has a nice flat rate of $5.99 every year.</p>
<p>The host remained the same, since this particular hosts allows up to 10 domains pointing to it. All the files are simply dumped in a different sub folder. I both love and hate the idea of one consolidated host. It&#8217;s easier to manage: one login one set of administration and maintenance, cheaper than several different hosts. But if one sight goes down, they all go down. If a hacker gets into one, he damn well gets into all of them. The load on all of the sites is still very small and way under the allotted bandwidth limit. Most of them are blogs using <a href="http://www.wordpress.org"  class="alinks_links" onclick="return alinks_click(this);" title=""  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">WordPress</a> and we all know what a small physical footprint WordPress leaves behind. If any one site seems to out grow things little family what it turns 18 or something, it will definitely be kicked out of the nest onto it&#8217;s on hosting package.</p>
<h4>Copy Files</h4>
<p>Now this should be the simple part. You copy <strong>everything</strong> into the folder that is going to house your new blog. There are a few minor changes that you might need to make. Depending on your previous setup you may need to edit the <em>.htaccess</em> file and change the <em>RewriteBase </em>option. But I do think that WordPress will configure it for you when you set up your permalink stuff.</p>
<p>One change that is necessary is editing your <em>wp_config.php</em> file. If you&#8217;re changing databases, you need to make the changes here. If you&#8217;re not changing databases you still need to make the changes to the table prefix. I forgot to mention that we still need to keep the old database active (details to come later).</p>
<h4>Database Migration</h4>
<p>Moving the blog involved a little bit of work. There were two stages during this process. There was installing WordPress and there was importing old data. Now frankly, I know I made some mistakes, but all in all, things went smoothly.</p>
<p>It&#8217;s funny how moving databases on the same host was actually more difficult. Well, I made it more difficult I guess. My limited shared host has a limit on the number of database you can have. So, to counter that I&#8217;ve decided to use a database to its fullest capacity before I create a new one. So different blogs will share the same database but use different table prefixes for identification. It&#8217;s a nice plan and it does work, but it makes imports a bit difficult.</p>
<p>Now because I still wanted the old blog up (reasons to come later) I couldn&#8217;t simply go into WordPress and change the URL. Come on now, that would make things too easy. So I exported the database. I could not do a straight import because I needed to change the table names so that there would be two copies of each table with each having a different prefix. For example, I&#8217;m copying all the wp_ tables to wp2_. Sounds easy in theory, but it was a bit involved.</p>
<p>This is the process I ended up going through. I unzipped the exported DB file. Opened the file in a text editor. Now the uncompressed file was about 14 MB. I used Notepad++ to open it, and even with my new hardware it took a while. I then did a search and replace: wp_ to wp2_. This is so that when the script runs it will import into the newly specified table names. After the completed process I would have one bunch of tables wp_ and another wp2_ with the same structure and the same data. If anyone has a smoother method of doing this, I&#8217;m all ears. But I did a quick Google search for <em>Copy MySQL Table</em> and apart from console instructions (No shell access, cheap host) I came up short and it was 1:00 AM and I wanted to get to sleep.</p>
<p>So, the file was edited, I zipped it back up in <a href="http://en.wikipedia.org/wiki/Gzip" title="Gzip - Wikipedia, the free encyclopedia">GZip </a>format with <a href="http://www.7-zip.org/">7Zip </a>and went to the host&#8217;s phpMyAdmin site and tried to do an import. Only to realize they don&#8217;t have the file import field. This was a bit of a pain. I would have had to copy and paste the data into the little form so that it would run the SQL commands. There was one problem with that though, the uncompressed file was 14 MB and there was no way that the browser could handle that without locking up. So importing that large database was another story: <a href="http://www.webdevelopment2.com/php/importing-large-mysql-databases-when-phpmyadmin-lets-you-down-get-bigdump.htm">Importing Large MySQL Databases &#8211; When phpMyAdmin LetÃ¢â‚¬â„¢s You Down &#8211; Get BigDump</a>.</p>
<h4>Database Configuration</h4>
<p>No, we&#8217;re not installing a new version of WordPress. You can do that later, after everything is settled, if a new version has come out and you want to upgrade. Or do it before, just not now. Now that your database has been imported properly, you need to make one minor change. Funny enough, this isn&#8217;t a change that I&#8217;ve seen documented anywhere else though. But it was necessary for me, who knows maybe I did something wrong. I needed to edit the database <em>wp_options</em> table and edit the <em>option_value</em> for the entries where the <em>option_name</em> is <em>siteurl </em>and <em>host</em>. I needed to change these to match the new domain. The first time I left out this step, every time I tried to do anything it just forwarded me back to the old blog. That&#8217;s it. I tried editing them from within WordPress, but that didn&#8217;t seem to work either.</p>
<p>After that you&#8217;re good for the new database. You might need to update some links within your posts, but the next step will simply make this a preference. The only problem we have is that your ranking is going to suffer because you&#8217;re starting from scratch. If you have a good relationship with the people that have given you links, you may beg them to update some links or their blogroll. This would help you dramatically in rankings, but again it&#8217;s not a necessity.</p>
<h4>Preserving Old Links</h4>
<p>This is where the magic happens. People hate switching domains because, it&#8217;s a hassle, you lose your rankings for search engines and Technorati, etc, and most of all you lose all your inbound links and your visitors are left in the dark. Well, I can&#8217;t help you with the first parts, but that last part is a breeze.</p>
<p>There are two methods. The easy one and the easier one. The only thing is that your permalink structure needs to be identical, so don&#8217;t try to get fancy and switch them up just because it&#8217;s a new domain name.</p>
<p>For the easy one, we edit the <em>.htaccess</em> file and one line:</p>
<p>RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]</p>
<p>You add this somewhere after the line:  RewriteEngine On</p>
<p>That&#8217;s about it really. What this does is that, whenever someone tries to access a link from the old site, it will forward them to the same URL on the new site. The excellent thing is that it will also forward search engines. It&#8217;s that great? That&#8217;s what the code 301 means. Eventually, they will actually update their database to reflect your new URL. This also keeps your from getting penalized for duplicate content by the search engines. There is only one minor issue with this and it&#8217;s just a cosmetic one: the old URL is still left in the browser window. Who cares right? Well I do. There is a workaround, which involves some template changes in your new blog. Basically it says if you have been forwarded by from the old URL, then reload the URL with that of the new one. Pay attention now, this isn&#8217;t the same thing. This is done in the browser and refreshes the screen. It&#8217;s not really a refresh since it is done before anything else is sent. This, to me is a bit clunky.</p>
<p>The easier one: This is the simplest method that I&#8217;ve seen. You can&#8217;t really get simpler than this. But it involves leave the old blog active, sort of. Funny enough, it&#8217;s called the <a href="http://rmarsh.com/2006/09/23/moving-your-blog/">Moving Your Blog</a> Plugin. You install this on your OLD blog, activate it, go to the options, and enter the URL of the NEW blog (no trailing slashes) and that&#8217;s it dude.</p>
<p>Now if you&#8217;re like me and you&#8217;re on a host with limited database space, then you might want to do a little bit of house keeping. What I&#8217;ve done is deactivated all the old plugins, delete all posts and comments, and all files that I&#8217;ve ever uploaded (including unused themes &#8211; I went back to the classic). Now you&#8217;re saying that I&#8217;m defeating the purpose by deleting the posts, but actually the plugin doesn&#8217;t need the posts. I&#8217;m not sure exactly what it needs, but deleting posts and comments didn&#8217;t seem to harm it. That&#8217;s where most of the space is taken up anyway. I also went through the database and DROPped tables that were created for plugins that I&#8217;ve deactivated.</p>
<p>After that, you should have everything working perfectly.</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/new-domain-webdevelopment2com-new-focus-frameworks-cakephp-javascript-web-20/" rel="bookmark" title="August 22, 2007">New Domain: WebDevelopment2.com, New Focus: Frameworks, CakePHP, Javascript, Web 2.0</a></li>

<li><a href="http://www.webdevelopment2.com/feedburner-google-search-cache-instant-blog-back-up/" rel="bookmark" title="May 10, 2007">FeedBurner + Google search cache =  Instant Blog Back Up</a></li>

<li><a href="http://www.webdevelopment2.com/wordpress-25-upload-image-error-finally-fixed/" rel="bookmark" title="July 28, 2008">WordPress 2.5+ Upload Image Error &#8211; Finally Fixed!</a></li>

<li><a href="http://www.webdevelopment2.com/quick-multiple-local-roots-wamp/" rel="bookmark" title="November 16, 2007">Here&#8217;s a Quick Way to Use Multiple Local Roots With WAMP</a></li>

<li><a href="http://www.webdevelopment2.com/wordpress-comment-relish-and-high-cpu-usage/" rel="bookmark" title="December 29, 2008">Comment Relish Plugin + High CPU Usage &#8211; Fixed The Right Way</a></li>
</ul><!-- Similar Posts took 4.117 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/moving-wordpress-to-a-different-domain/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Importing Large MySQL Databases &#8211; When phpMyAdmin Let&#8217;s You Down &#8211; Get BigDump</title>
		<link>http://www.webdevelopment2.com/importing-large-mysql-databases-when-phpmyadmin-lets-you-down-get-bigdump/</link>
		<comments>http://www.webdevelopment2.com/importing-large-mysql-databases-when-phpmyadmin-lets-you-down-get-bigdump/#comments</comments>
		<pubDate>Sun, 01 Apr 2007 19:51:07 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/2007/04/01/importing-large-mysql-databases-when-phpmyadmin-lets-you-down-get-bigdump.htm</guid>
		<description><![CDATA[phpMyAdmin phpMyAdmin is a beautiful tool. It let&#8217;s you administer a MySQL Database without all the messy commands. Also, some host don&#8217;t even allow you access to those messy commands. So, once again, it&#8217;s a beautiful tool. You can pull up a window and run individual SQL commands on the database or you can run [...]]]></description>
			<content:encoded><![CDATA[<h4>phpMyAdmin</h4>
<p>phpMyAdmin is a beautiful tool. It let&#8217;s you administer a MySQL Database without all the messy commands. Also, some host don&#8217;t even allow you access to those messy commands. So, once again, it&#8217;s a beautiful tool. You can pull up a window and run individual SQL commands on the database or you can run an entire SQL script. It&#8217;s really great. There is a wonderful export tool that allows you to back up your Database as plain text SQL file or a file in GZip format. I have seen exported files get up to 10 MB compressed, which is over 100 MB decompressed, given that it&#8217;s just a plain text file.</p>
<h4>Importing MySQL Database</h4>
<p>But one thing that is lacking is a proper import procedure. Currently, you can import a database by pasting the SQL statements in a form and clicking submit, or by uploading an SQL file through your browser. Now that&#8217;s all well and good, but there are some problems with this method. The main problem is with timeouts. Of these there are two kinds, there are browser timeouts and server timeouts. The second problem is file size. Another limit, which you don&#8217;t often read about, is the phpMyAdmin configuration limit.</p>
<h4>Browser TimeOuts</h4>
<p>Browsers have a limited time that they can be busy waiting for response from the server and when doing a database import this is exactly what is happening. Your browser does a little work of uploading the file. After that it&#8217;s up to the server. So while your browser says it&#8217;s <em>busy</em> it really isn&#8217;t. It&#8217;s just waiting for the PHP script (phpMyAdmin) to get back to it and say it&#8217;s done. With large databases, this can take a time.</p>
<p>There are a couple ways to get around this. In Firefox you can go to <em>about:config</em> and look for the setting that deals with the browser timeouts. Honestly, I even forget what the exact property is. If you use Internet Explorer (well maybe you need to be punished) you&#8217;re out of luck, because as far as I know (which is not much about IE) I think you need to go into registry to do this. If you&#8217;re browser times out, it simply stops and kills the connection. With no active connection there script on the server comes to a halt.</p>
<h4>Server PHP Script TimeOuts</h4>
<p>Now let&#8217;s say you&#8217;ve gotten over the problem of the browser timeout. Good for you. Now you&#8217;re hit with something you may not have control over. A lot of shared hosts don&#8217;t allow you to modify their PHP configuration settings, for good reason. And a lot of servers have very fixed limits on the length of time that a script can run for. If this is less than what you&#8217;re file needs to run, then you&#8217;re once again out of luck. There is no work around for this though, sorry.</p>
<p>File Size Limit</p>
<p>Servers have a fixed limit with respect of the size of file that can be uploaded through the browser. Back in the day, it was stuck at 2 MB. Right now, I&#8217;ve seen them maxing out at about 8 MB on average. So what do you do if your export file is 10.5 MB? You&#8217;re out of luck, that&#8217;s what. Now why don&#8217;t they modify their export utility to break files up into multiple sizes that can be handled through import? well, it&#8217;s too much work. It&#8217;s not their problem, get a better server I guess. Once again, you&#8217;re out of luck.</p>
<h4>phpMyAdmin Limit</h4>
<p>phpMyAdmin has a limit in their configuration file that limits the actual number of SQL commands that can be executed. It&#8217;s that simply. If your database goes beyond this, then once again, you&#8217;re out of luck.</p>
<p>Well not really. You could install your own version of phpMyAdmin on the server and configure it as you like. If this works for you, great. But if your problem is also one of those mentioned above, then again, you&#8217;re out of luck.</p>
<h4>What Are Your Options?</h4>
<p>Well, you could get off your cheap but and shell out some more money for a better server. A better server would give you access to shell commands. Then you could perform your mySQL queries on the command prompt. How do you go about importing a GZipped or even a plain database using this method? You got me. I was never a big fan of prompts if I could avoid them.</p>
<p>You could zip up your file and email it to support and have them import it for you. That&#8217;s actually the first option I came across when I had that problem. I called support, mad as hell, because I couldn&#8217;t import my database, which phpMyAdmin so willingly exported for me. They told me that I could email them the file or place it in a folder somewhere on the server by FTP and tell them where it is so that they have access to it. Now, that&#8217;s all well and good, but I go to support when something is broken. I don&#8217;t see why I need to contact them for something as trivial as importing a database? And in all honesty, I don&#8217;t like the idea of waiting.</p>
<p>Option number three: host your own server, where you can control everything. Enough said! So what do the rest of us do?</p>
<h4><a href="http://www.ozerov.de/bigdump.php">BigDump</a>: Staggered MySQL Dump Importer</h4>
<p><a href="http://www.ozerov.de/bigdump.php">BigDump</a> is the exact tool you need for the job. It solves ALL of the above problems.</p>
<blockquote><p>Staggered import of large and very large MySQL Dumps (like phpMyAdmin 2.x Dumps) even through the web-servers with hard runtime limit and those in safe mode. The script executes only a small part of the huge dump and restarts itself. The next session starts where the last was stopped.</p></blockquote>
<p>It&#8217;s a simple PHP script. You open it up, edit some variables to point to the database and some other stuff, close it, save it, upload it, upload your database file to the same directory and run the bloody thing from the browser. What does, is it basically it divides your file into sections specified by one of the options. And it runs these sections independently until it&#8217;s done.</p>
<p>The options involve:</p>
<ul>
<li>Database Server</li>
<li>Database Name</li>
<li>Database Username</li>
<li>Number of lines you want to execute per session
<ul>
<li>You can make an educated guess, or you can just leave it at the default. If that doesn&#8217;t work, lower it and try again.</li>
</ul>
</li>
<li>How long to delay each session</li>
</ul>
<p>It solves every single one of our problems. There is no file size issue because you&#8217;re uploaded the file via FTP. There is no server timeout because it imports in sections. None of these individual sections is going to timeout because they are so small. Now you&#8217;re thinking how about the browser timeout, there is no way to get around this right? Well, it&#8217;s not that hard. After the script runs on a session, it refreshes the browser window with a new URL. The URL is to the same file, except that it passes variables back to itself with the line it left off at, so it knows where to start again for the next session. It continues with this until it&#8217;s done. The new URL registers as a new session so the timeout is reset.</p>
<p>There is an option for the number of seconds to delay after each session. Some servers may frown on running all these commands right after the other. Give them a couple seconds to breathe and they&#8217;ll be fine.</p>
<p>Obviously, I don&#8217;t need to tell you guys that you don&#8217;t close the browser window. So BigDump saves us from the inadequacies of phpMyAdmin, although it is still a great tool.</p>
<p>Read what others have to day about BigDump:</p>
<ul>
<li><small><a href="http://www.michaelphipps.com/2007-03-12/php-mysql-sql-file-import-with-bigdump.html">PHP MySQL SQL File Import with BigDump</a></small></li>
<li><small><a href="http://www.web-seo.co.uk/?p=272">BigDump: Staggered MySQL Dump Importer</a></small></li>
<li><small><a href="http://www.masetek.com.au/2007/01/28/how-to-move-a-large-database/">How To Move a Large Database</a></small></li>
</ul>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/automate-mysql-database-backup-webcron-cron-jobs-problem-part-2/" rel="bookmark" title="October 28, 2007">Automate MySQL Database Backup With WebCron &#8211; No Cron Jobs? No Problem &#8211; Part 2</a></li>

<li><a href="http://www.webdevelopment2.com/moving-wordpress-to-a-different-domain/" rel="bookmark" title="April 2, 2007">Moving WordPress To A Different Domain</a></li>

<li><a href="http://www.webdevelopment2.com/finally-moved-dreamhost-quality-web-hosting/" rel="bookmark" title="October 4, 2007">Finally We&#8217;ve Moved To DreamHost &#8211; Quality Web Hosting</a></li>

<li><a href="http://www.webdevelopment2.com/new-domain-webdevelopment2com-new-focus-frameworks-cakephp-javascript-web-20/" rel="bookmark" title="August 22, 2007">New Domain: WebDevelopment2.com, New Focus: Frameworks, CakePHP, Javascript, Web 2.0</a></li>

<li><a href="http://www.webdevelopment2.com/ajax-coding-challenge-at-aboutcom/" rel="bookmark" title="October 24, 2006">Ajax Coding Challenge at About.com</a></li>
</ul><!-- Similar Posts took 4.008 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/importing-large-mysql-databases-when-phpmyadmin-lets-you-down-get-bigdump/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How Do I Pick An AJAX Framework And Why Should I Care</title>
		<link>http://www.webdevelopment2.com/how-do-i-pick-an-ajax-framework-and-why-should-i-care/</link>
		<comments>http://www.webdevelopment2.com/how-do-i-pick-an-ajax-framework-and-why-should-i-care/#comments</comments>
		<pubDate>Tue, 20 Mar 2007 17:34:08 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/2007/03/20/how-do-i-pick-an-ajax-framework-and-why-should-i-care.htm</guid>
		<description><![CDATA[This may be one of the most difficult things to consider when starting up with AJAX. There are a lot of AJAX Tutorials out there that give you good background information. And it&#8217;s good to know what&#8217;s going on behind the scenes, it really is, but let&#8217;s face it if you&#8217;re going create anything worthwhile [...]]]></description>
			<content:encoded><![CDATA[<p>This may be one of the most difficult things to consider when starting up with AJAX. There are a lot of <a href="http://www.harrymaugans.com/2007/03/18/tutorial-ajax-made-easy/">AJAX Tutorials</a> out there that give you good background information. And it&#8217;s good to know what&#8217;s going on behind the scenes, it really is, but let&#8217;s face it if you&#8217;re going create anything worthwhile with AJAX, it makes no scene to do it from scratch. As a developer, I&#8217;m a big fan of frameworks. If you think it about it enough, everything is a framework for something. I suppose that if you have a couple hours (days depending on your skill level) you could write a very functional console application that emulates a basic calculator in sssembly code. Or, you could fire notepad, write a quick C++ application in about 5 minutes and compile and you&#8217;re fine.</p>
<p>In the same respect, you could use C++ and create a very graphical Windows application or you could use C# and the .NET Framework and fire one out in minutes. Why should web development be any different? Frameworks are there for a reason. A team usually develops a Framework over a long period. They get all the kinks out and they make it available for you guys to use. If a bug is found, they do a fix and put out a new version. You simply replace the files that you use.</p>
<p>AJAX is the same way, with one exception, there are just <a href="http://ajaxpatterns.org/Ajax_Frameworks">too damn many frameworks</a> out there and that makes choosing very difficult. This should make things a little bit easier: <a href="http://seijideasign.blogspot.com/2007/03/how-to-choose-ajax-framework.html">How to choose an Ajax Framework ?</a></p>
<p><a href="http://seijideasign.blogspot.com/2007/03/how-to-choose-ajax-framework.html"> as<br />
</a></p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/choice-web-development-framework-matter/" rel="bookmark" title="December 31, 2007">Your Choice of Web Development Framework Doesn&#8217;t Matter</a></li>

<li><a href="http://www.webdevelopment2.com/poll-results-php-framework/" rel="bookmark" title="November 28, 2007">Poll Results &#8211; What Do You Look for in a PHP Framework?</a></li>

<li><a href="http://www.webdevelopment2.com/web-development-vs-desktop-development/" rel="bookmark" title="November 30, 2005">Web Development vs. Desktop Development</a></li>

<li><a href="http://www.webdevelopment2.com/enter-cakephp-rapid-development-framework-no-really/" rel="bookmark" title="July 2, 2007">Enter CakePHP &#8211; Rapid Development Framework &#8211; No Really!</a></li>

<li><a href="http://www.webdevelopment2.com/web-development-20-carnival-september-24-2007/" rel="bookmark" title="September 24, 2007">Web Development 2.0 Carnival &#8211; September 24, 2007</a></li>
</ul><!-- Similar Posts took 3.545 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/how-do-i-pick-an-ajax-framework-and-why-should-i-care/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP vs. VB6</title>
		<link>http://www.webdevelopment2.com/php-vs-vb6/</link>
		<comments>http://www.webdevelopment2.com/php-vs-vb6/#comments</comments>
		<pubDate>Tue, 28 Nov 2006 02:08:06 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/2006/11/27/php-vs-vb6.htm</guid>
		<description><![CDATA[This is funny. I can&#8217;t tell you how funny this is. They&#8217;re actually comparing PHP to VB6. Basically, VB6 sucks as a language and for that reason should be reduced to scripting where as PHP is somewhat similar because it makes an excellent scripting language. Karl over at CodeBetter.com writes: PHP is NOT Object Oriented [...]]]></description>
			<content:encoded><![CDATA[<p><!--adsense-->This is funny. I can&#8217;t tell you how funny this is. They&#8217;re actually comparing PHP to VB6. Basically, VB6 sucks as a language and for that reason should be reduced to scripting where as PHP is somewhat similar because it makes an excellent scripting language.</p>
<p><a href="http://codebetter.com/blogs/karlseguin/archive/2006/11/26/Is-PHP-the-new-VB6_3F00_.aspx">Karl </a>over at <a href="http://codebetter.com/blogs/karlseguin/archive/2006/11/26/Is-PHP-the-new-VB6_3F00_.aspx">CodeBetter.com</a> writes:</p>
<blockquote><p><strong>PHP is NOT Object Oriented</strong><br />
As a language, PHP&#8217;s object-support is quite rich. Since the introduction of PHP5, developers have had the same level of OO support as most other languages. Of course, there&#8217;s nothing forcing developers to use OO principals.</p>
<p><strong>Layering</strong><br />
The only support for layering offered by PHP is the include/require functions.  Like OO, proper layering can greatly increase code readability and maintainability. Much like in classic ASP, most developers tightly intertwine their PHP and HTML.</p>
<p><strong>Exception Handling</strong><br />
Exception handling in PHP is like object oriented programming Ã¢â‚¬â€œ it&#8217;s supported but not used. The PHP framework scarcely makes use of structured exception handling as do most of the online samples.  The example which always gets under my skin is the MySQL library.</p>
<p><strong>Other Issues</strong><br />
The fact that PHP is a loosely typed language can lead to significant difficulties for larger projects.  Strongly-typed languages like C#, VB.NET and Java can take full advantages of compile-time checking and design-time tools (IDEs) while loosely-typed ones generally can&#8217;t.</p></blockquote>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/php-sucks-boy-am-i-tired-of-hearing-this/" rel="bookmark" title="May 28, 2008">Stop Hating On PHP And Learn To Code Better</a></li>

<li><a href="http://www.webdevelopment2.com/web-development-vs-desktop-development/" rel="bookmark" title="November 30, 2005">Web Development vs. Desktop Development</a></li>

<li><a href="http://www.webdevelopment2.com/cakephp-ruby-rails-bias/" rel="bookmark" title="November 5, 2007">CakePHP vs. Ruby On Rails &#8211; A Very Bias Look at Why I Choose CakePHP</a></li>

<li><a href="http://www.webdevelopment2.com/ajax-client-engine-ace-problems/" rel="bookmark" title="December 12, 2005">AJAX Client Engine (ACE) &#8211; Problems</a></li>

<li><a href="http://www.webdevelopment2.com/ten-reasons-to-learn-c/" rel="bookmark" title="November 27, 2006">Ten Reasons to Learn C (not C++)</a></li>
</ul><!-- Similar Posts took 3.617 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/php-vs-vb6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Content Management Systems</title>
		<link>http://www.webdevelopment2.com/content-management-systems/</link>
		<comments>http://www.webdevelopment2.com/content-management-systems/#comments</comments>
		<pubDate>Thu, 02 Nov 2006 15:00:26 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/2006/11/02/content-management-systems.htm</guid>
		<description><![CDATA[What is a Content Management System? Here&#8217;s a little background. Lots of websites have dynamic content. Meaning, the content is located in a database, usually MySQL, and they are simply dumped into a web template when the page is viewed. That way, if you decide to change the structure or template of your website, the [...]]]></description>
			<content:encoded><![CDATA[<p><!--adsense-->What is a <a href="http://en.wikipedia.org/wiki/Content_management_system">Content Management System</a>? Here&#8217;s a little background. Lots of websites have dynamic content. Meaning, the content is located in a database, usually MySQL, and they are simply dumped into a web template when the page is viewed. That way, if you decide to change the structure or template of your website, the content need not be changed. You wouldn&#8217;t really have to mess with anything. Since you have one main template, a change in the template is propagated throughout all the pages because all the pages are created dynamically and use the same template.</p>
<p>A content management system or CMS allows a user to manage this content. Excellent description, I know. Basically the user simply edits the content of the web site and not the actual pages. They don&#8217;t need to know any HTML, they don&#8217;t need to deal with the structure of the website they simply edit content.</p>
<p><a href="http://www.xpert.com.au/blog/what-is-a-content-management-system/">Xpert.com.au</a> has a nice write up on CMS.</p>
<p>Advantages of a Content Management System:</p>
<blockquote>
<ul>
<li>Decentralized maintenance.</li>
<li>Designed with non-technical content editors in mind.</li>
<li>Configurable access restrictions.</li>
<li>Consistency of design is preserved.</li>
<li>Navigation is automatically generated.</li>
<li>Content is stored in a database.</li>
<li>Dynamic content.</li>
<li>Daily updates.</li>
<li>Cooperation.</li>
<li>Content scheduling.</li>
</ul>
</blockquote>
<p>As a web developer you have a decision to make. Do you go with an already existing CMS like <a href="http://joomla.org">Joomla</a> or <a href="http://drupal.org/">Drupal</a> or do you design your own? Well, that depends on couple of things. How much content needs to be edited, what the user wants to do, what kind of system you have already established, etc.</p>
<p>Personally, I like Joomla. The problem with Joomla is that it lets you a LOT. Sometimes you don&#8217;t want the user to have all this functionality, it&#8217;s sometimes a bit of overkill. If the page is more or less static and the user may need to make simple changes from time to time, writing your own CMS makes sense. If the user wants a blog, I say go with <a href="http://www.wordpress.org">WordPress</a>. I&#8217;m a huge advocate of not reinventing the wheel. They guys at <a href="http://www.wordpress.org"  class="alinks_links" onclick="return alinks_click(this);" title=""  style="padding-right: 13px; background: url(http://www.webdevelopment2.com/wp-content/plugins/alinks/images/external.png) center right no-repeat;" rel="external">WordPress</a> have been doing this for years now; they should know what they&#8217;re doing.</p>
<p>Basically folks, you need to analyze the task at hand and make an informed decision. <a href="http://www.opensourcecms.com">OpenSourceCMS</a> has a huge list of CMS programs that you can even test out on the website. When writing your own, you have to consider how long it&#8217;s going to take, whether you can do it effectively and efficiently. Prepackaged tools usually have all the fixings: file uploads, image stuff, etc. Simply decide what you need and what makes sense.</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/from-mambo-joomla-10/" rel="bookmark" title="September 15, 2005">From Mambo &#8211; Joomla! 1.0</a></li>

<li><a href="http://www.webdevelopment2.com/dclick-ads-another-quick-start-up-advertising-site/" rel="bookmark" title="December 24, 2006">Dclick Ads &#8211; Another Quick Start Up Advertising Site</a></li>

<li><a href="http://www.webdevelopment2.com/picking-a-cms-part-1/" rel="bookmark" title="May 20, 2009">Reader Input: Picking A CMS &#8211; Part 1</a></li>

<li><a href="http://www.webdevelopment2.com/qa-with-joomla-development-leader/" rel="bookmark" title="November 1, 2005">Q&#038;A With Joomla Development Leader</a></li>

<li><a href="http://www.webdevelopment2.com/bad-first-impression-for-joomla/" rel="bookmark" title="December 6, 2005">Bad First Impression for Joomla</a></li>
</ul><!-- Similar Posts took 3.634 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/content-management-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing A LAMP Web Server System With Fedora Core 6</title>
		<link>http://www.webdevelopment2.com/installing-a-lamp-web-server-system-with-fedora-core-6/</link>
		<comments>http://www.webdevelopment2.com/installing-a-lamp-web-server-system-with-fedora-core-6/#comments</comments>
		<pubDate>Tue, 31 Oct 2006 18:59:23 +0000</pubDate>
		<dc:creator>Kevin Lloyd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webdevelopment2.com/2006/10/31/installing-a-lamp-web-server-system-with-fedora-core-6.htm</guid>
		<description><![CDATA[LAMP &#8211; Linux, Apache, MySQL, and PHP. These are the elements you will need to start a very robust and reliable web server from the ground up. HowToForge has a brilliant tutorial on how to start everything. Now take note, this is a VERY detailed tutorial. You can&#8217;t really go wrong with this tutorial. We [...]]]></description>
			<content:encoded><![CDATA[<p>LAMP &#8211; Linux, Apache, MySQL, and PHP. These are the elements you will need to start a very robust and reliable web server from the ground up.  <a href="http://www.howtoforge.com/installing_a_lamp_system_with_fedora_core_6">HowToForge</a> has a brilliant tutorial on how to start everything. Now take note, this is a VERY detailed <a href="http://www.howtoforge.com/installing_a_lamp_system_with_fedora_core_6">tutorial</a>. You can&#8217;t really go wrong with this tutorial. We got step by step instructions, we go screen shots, we got it all.</p>
<p>The Linux platform used is Fedora Core 6. Some may claim that other distributions are better, they are more user friendly, etc. etc. And they would be right, however, In my opinion, as a production environment, you can&#8217;t beat Fedora Core 6. It is very stable and reliable and perfect for a stand alone web server. There are even instructions at the end to install a free web hosting control panel if you decide to resell hosting services.</p>
<p>They start out with downloading Fedora:</p>
<blockquote><p>To install such a system you will need the following:</p>
<ul>
<li>Download the Fedora Core 6 DVD iso image or the 5 CD iso images from a mirror near you (the list of mirrors can be found here: <a target="_blank" href="http://fedora.redhat.com/download/mirrors.html">http://fedora.redhat.com/download/mirrors.html</a>), e.g. <a target="_blank" href="ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/6/i386/iso/FC-6-i386-DVD.iso">ftp://ftp.tu-chemnitz.de/pub/linux/fedora-core/6/i386/iso/FC-6-i386-DVD.iso</a></li>
<li>an internet connection&#8230;</li>
</ul>
</blockquote>
<p>Then the installation process complete with a LOT of screen shots and detailed instructions of even how to set up IP addresses, firewalls, hosts, etc.</p>
<p>Then we install the components, MySQL 5.0, Postfix With SMTP-AUTH And TLS,  Maildir, Apache2 With PHP5, ProFTPd, Webalizer, Perl Module, etc.</p>
<p>Whoa. You still with me? OK. In between all these installations there are details on the best configuration most of these components if they are not configured properly out of the box.</p>
<p>I ran through it (minus the Fedora Installation &#8211; which takes a while, trust me) and it took about an hour and a half.</p>
<p>This tutorial is incredible. I&#8217;ve never seen anyone go into such detail, except of course when we look up these instructions as seperate entities. The tutorial is detailed and easy to follow.</p>
<p>The good thing about this system is that you won&#8217;t need to touch it except to updates, which are just as easy as Windows updates. If you&#8217;re going to have a dedicated web server, I highly recommend taking a good hard look at this <a href="http://www.howtoforge.com/installing_a_lamp_system_with_fedora_core_6">tutorial</a>.</p>
Similar Posts:<ul><li><a href="http://www.webdevelopment2.com/fast-cgi-installation/" rel="bookmark" title="November 18, 2005">Fast CGI Installation</a></li>

<li><a href="http://www.webdevelopment2.com/gitting-started-git/" rel="bookmark" title="May 9, 2009">Gitting Started with Git &#8211; Quick and Dirty</a></li>

<li><a href="http://www.webdevelopment2.com/ajax-client-engine-ace-problems/" rel="bookmark" title="December 12, 2005">AJAX Client Engine (ACE) &#8211; Problems</a></li>

<li><a href="http://www.webdevelopment2.com/give-15-minutes-jquery-expert/" rel="bookmark" title="September 18, 2007">Give Me 15 Minutes and I&#8217;ll Make You A jQuery Expert</a></li>

<li><a href="http://www.webdevelopment2.com/start-the-year-off-right-developing-web-applications-with-ajax/" rel="bookmark" title="January 1, 2007">Start The Year Off Right &#8211; Developing Web Applications with AJAX</a></li>
</ul><!-- Similar Posts took 3.679 ms -->]]></content:encoded>
			<wfw:commentRss>http://www.webdevelopment2.com/installing-a-lamp-web-server-system-with-fedora-core-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

