<?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>Richy&#039;s Random Ramblings &#187; Net: Techy: PHP</title>
	<atom:link href="http://blog.rac.me.uk/category/net-techy-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rac.me.uk</link>
	<description>Random ramblings and ravings of Richy C</description>
	<lastBuildDate>Mon, 16 Jan 2012 12:16:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Bye Bye Mangahigh &#8211; hello Bairwell!</title>
		<link>http://blog.rac.me.uk/2011/11/28/bye-bye-mangahigh-hello-bairwell/</link>
		<comments>http://blog.rac.me.uk/2011/11/28/bye-bye-mangahigh-hello-bairwell/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 14:06:11 +0000</pubDate>
		<dc:creator>Richy C.</dc:creator>
				<category><![CDATA[Life: Contracting]]></category>
		<category><![CDATA[Life: Work and Techy]]></category>
		<category><![CDATA[Net: Techy: Linux]]></category>
		<category><![CDATA[Net: Techy: PHP]]></category>

		<guid isPermaLink="false">http://blog.rac.me.uk/?p=1821</guid>
		<description><![CDATA[After just over 3 years working at Blue Duck Education Ltd as the Lead Developer/Systems Architect with Toby Rowland and other very talented people (too numerous to name here) building the Mangahigh Maths Games educational resource which we built from a brand new site to being one of the fastest growing educational games sites &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>After just over 3 years working at Blue Duck Education Ltd as the Lead Developer/Systems Architect with Toby Rowland and other very talented people (too numerous to name here) building the <a href="http://www.mangahigh.com/">Mangahigh Maths Games</a> educational resource which we built from a brand new site to being one of the fastest growing educational games sites &#8211; I&#8217;m now leaving for pastures new.</p>
<p>So where am I going?</p>
<p>Well, <a href="http://www.whatkatydid.org/">my fiancée</a> and I will be starting, on the 3rd of January, a new company called <a href="http://www.bairwell.com/">Bairwell Web Development</a> to combine our two talents. Bairwell will be offering WordPress, Perch and LAMP (Linux, Apache, MySQL, PHP 5 : also some Varnish, PostgreSQL, Memcache, Perl and Systems administration) development consultancy services &#8211; so if you want a well designed (Katy), scalable and responsive (me) website: then please get in touch with us via our <a href="http://www.biarwell.com/" class="broken_link">web development site</a> (Katy is still working on it at this time of writing), <a href="http://twitter.com/bairwell">Twitter</a> or <a href="http://facebook.com/bairwell">Facebook</a>.</p>
<p>Fingers crossed!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rac.me.uk/2011/11/28/bye-bye-mangahigh-hello-bairwell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running Jenkins CI for PHP on Amazon EC2 [4/7]</title>
		<link>http://blog.rac.me.uk/2011/10/30/connecting-to-amazon-ec2-using-putty/</link>
		<comments>http://blog.rac.me.uk/2011/10/30/connecting-to-amazon-ec2-using-putty/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 00:00:36 +0000</pubDate>
		<dc:creator>Richy C.</dc:creator>
				<category><![CDATA[Life: Work and Techy]]></category>
		<category><![CDATA[Net: Techy: PHP]]></category>

		<guid isPermaLink="false">http://blog.rac.me.uk/?p=1783</guid>
		<description><![CDATA[Continued from Preparing PuTTY for Amazon EC2 Connecting to Amazon EC2 using PuTTY Load PuTTY In the Hostname box, enter the Public DNS entry of your Amazon EC2 instance (ec1-23-456-78-901.xx-yyyy-1.compute.amazonaws.com) Click, in the left hand side of the PuTTY window, Connection-&#62;SSH-&#62;Auth In the &#8220;Private Key Field&#8221; select the file you saved from &#8220;Preparing PuTTY for [...]]]></description>
			<content:encoded><![CDATA[<p>Continued from <a href="http://blog.rac.me.uk/2011/10/29/preparing-putty-for-ec2/">Preparing PuTTY for Amazon EC2</a></p>
<p><strong>Connecting to Amazon EC2 using PuTTY</strong></p>
<ol>
<li>Load PuTTY</li>
<li>In the Hostname box, enter the Public DNS entry of your Amazon EC2 instance (ec1-23-456-78-901.xx-yyyy-1.compute.amazonaws.com)</li>
<li>Click, in the left hand side of the PuTTY window, Connection-&gt;SSH-&gt;Auth</li>
<li>In the &#8220;Private Key Field&#8221; select the file you saved from &#8220;<a href="http://blog.rac.me.uk/2011/10/29/preparing-putty-for-ec2/">Preparing PuTTY for Amazon EC2</a>&#8220;</li>
<li>Click &#8220;Open&#8221;</li>
<li>Login as &#8220;ec2-user&#8221;</li>
</ol>
<p>Continued in <a href="http://blog.rac.me.uk/2011/10/31/installing-and-configuring-jenkins">Installing and Configuring Jenkins CI</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rac.me.uk/2011/10/30/connecting-to-amazon-ec2-using-putty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Magento &#8211; current stock value</title>
		<link>http://blog.rac.me.uk/2011/08/13/php-magento-current-stock-value/</link>
		<comments>http://blog.rac.me.uk/2011/08/13/php-magento-current-stock-value/#comments</comments>
		<pubDate>Sat, 13 Aug 2011 20:06:15 +0000</pubDate>
		<dc:creator>Richy C.</dc:creator>
				<category><![CDATA[Net: Techy: PHP]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[shopping]]></category>

		<guid isPermaLink="false">http://blog.rac.me.uk/?p=1745</guid>
		<description><![CDATA[If you run the Magento ecommerce shopping cart software and you want to find out how much your stock is worth, how many product lines you have stocked and how many individual items you have, you may find the following MySQL query handy. I&#8217;m assuming that you&#8217;ve created an attribute with the attribute code &#8220;supplier_price&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>If you run the Magento ecommerce shopping cart software and you want to find out how much your stock is worth, how many product lines you have stocked and how many individual items you have, you may find the following MySQL query handy.</p>
<p>I&#8217;m assuming that you&#8217;ve created an attribute with the attribute code &#8220;supplier_price&#8221; as a decimal, that you&#8217;ve kept this field up to date and your stock levels are accurate <img src='http://blog.rac.me.uk/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  If it isn&#8217;t called &#8220;supplier_price&#8221; change the appropriate part in the query.</p>
<p><code>SELECT<br />
COUNT(sku) AS 'products_stocked',<br />
SUM(qty) AS 'items_in_stock',<br />
SUM(stockvalue) AS 'stock_value'<br />
FROM (</p>
<p>SELECT<br />
catalog_product_entity.sku,<br />
cataloginventory_stock_item.qty,<br />
catalog_product_entity_decimal.value,<br />
(cataloginventory_stock_item.qty * catalog_product_entity_decimal.value) AS stockvalue<br />
FROM<br />
cataloginventory_stock_item,<br />
catalog_product_entity,<br />
eav_attribute,<br />
catalog_product_entity_decimal<br />
WHERE<br />
catalog_product_entity.type_id='simple' AND<br />
cataloginventory_stock_item.product_id=catalog_product_entity.entity_id AND<br />
catalog_product_entity_decimal.entity_id=catalog_product_entity.entity_id AND<br />
eav_attribute.attribute_id=catalog_product_entity_decimal.attribute_id AND<br />
eav_attribute.attribute_code='<strong>supplier_price</strong>' AND<br />
cataloginventory_stock_item.qty > 0<br />
ORDER BY sku ASC) AS b</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rac.me.uk/2011/08/13/php-magento-current-stock-value/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Profilers &#8211; A Quick summary</title>
		<link>http://blog.rac.me.uk/2009/12/29/php-profilers-a-quick-summary/</link>
		<comments>http://blog.rac.me.uk/2009/12/29/php-profilers-a-quick-summary/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 12:09:02 +0000</pubDate>
		<dc:creator>Richy C.</dc:creator>
				<category><![CDATA[Net: Techy: PHP]]></category>
		<category><![CDATA[code analysis]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php quick profiler]]></category>
		<category><![CDATA[xdebug]]></category>
		<category><![CDATA[xhprof]]></category>

		<guid isPermaLink="false">http://blog.rac.me.uk/?p=1588</guid>
		<description><![CDATA[More an aid to memory then anything, here&#8217;s the PHP profilers I&#8217;ve recently heard about: XDebug by Derick Rethans The oldest and most well known profiler. Needs modification of the server&#8217;s PHP file to run. Compatible with KCachegrind/WinCacheGrind, MacCallGrind and Webgrind and remote debugging tools. Produces quite large debug files (typically 900Kb to 10Mb compare [...]]]></description>
			<content:encoded><![CDATA[<p>More an aid to memory then anything, here&#8217;s the PHP profilers I&#8217;ve recently heard about:</p>
<dl>
<dt><a href="http://www.xdebug.org/">XDebug</a> by Derick Rethans</dt>
<dd>The oldest and most well known profiler. Needs modification of the server&#8217;s PHP file to run. Compatible with <a href="http://kcachegrind.sf.net/">KCachegrind</a>/<a href="http://sourceforge.net/projects/wincachegrind">WinCacheGrind</a>, <a href="http://www.maccallgrind.com/">MacCallGrind</a> and <a href="http://code.google.com/p/webgrind/">Webgrind</a> and remote debugging tools. Produces quite large debug files (typically 900Kb to 10Mb compare to XHProf&#8217;s 110Kb).</dd>
<dt><a href="http://mirror.facebook.net/facebook/xhprof/doc.html" class="broken_link">XHProf by Facebook Inc</a> (available via <a href="http://pecl.php.net/package/xhprof">PECL</a>)</dt>
<dd>Large amount of information provided and allows you to &#8220;drill down&#8221; by various sections &#8211; allows comparison of &#8220;diffs&#8221; between runs to check performance enhancements. Needs modification of the server&#8217;s PHP file to run. Also compatible with the *Grind systems. Used by Facebook and <a href="http://www.mangahigh.com/">Manga High&#8217;s online maths games</a> website, but only currently runs on Linux/FreeBSD. Seems to be preferred by iBuildings (see <a href="http://techportal.ibuildings.com/2009/12/01/profiling-with-xhprof/">Profiling with XHProf</a>) which is how I originally heard about it.</dd>
<dt><a href="http://particletree.com/features/php-quick-profiler/">PHP Quick Profiler (PQP) by Particle tree</a></dt>
<dd>Needs modifications to your PHP code, but does not need the server&#8217;s PHP modifying (so it can be used on shared hosting easily). Nice and bright. Used by ParticleTree on their <a href="http://wufoo.com/">Wufoo</a> product.</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://blog.rac.me.uk/2009/12/29/php-profilers-a-quick-summary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: self and clone</title>
		<link>http://blog.rac.me.uk/2009/10/21/php-self-and-clone/</link>
		<comments>http://blog.rac.me.uk/2009/10/21/php-self-and-clone/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 13:11:53 +0000</pubDate>
		<dc:creator>Richy C.</dc:creator>
				<category><![CDATA[Net: Techy: PHP]]></category>

		<guid isPermaLink="false">http://blog.rac.me.uk/?p=1561</guid>
		<description><![CDATA[I recently had to make a PHP class (let&#8217;s call it &#8220;class_A&#8221;) which returned an array of itself (to return multiple search results). All well and good and I used &#8220;$object=new self();&#8221; to do so like this: class class_A { public $setting; public function doSomething() { $toReturn=Array(); for ($i=1;$isetting=$i; Array_push($toReturn,$object); return $object; } } Calling [...]]]></description>
			<content:encoded><![CDATA[<p>I recently had to make a PHP class (let&#8217;s call it &#8220;class_A&#8221;) which returned an array of itself (to return multiple search results). All well and good and I used &#8220;$object=new self();&#8221; to do so like this:</p>
<p><code><br />
class class_A {<br />
 public $setting;</p>
<p>public function doSomething() {<br />
 $toReturn=Array();<br />
 for ($i=1;$i<100;$i++) {<br />
   $object=new self();<br />
   $object->setting=$i;<br />
   Array_push($toReturn,$object);<br />
   return $object;<br />
 }<br />
}</code><br />
Calling $class_A->doSomething() then returns 100 &#8220;class_A&#8221; objects.</p>
<p> However, I then needed to extend the PHP class (let&#8217;s call this class_B &#8211; declared with &#8220;class class_B extends class_A&#8221;) to take into account additional settings and I fully expected $object to be a new copy of class_B (as class B is technically the class being run).</p>
<p>Nope, it doesn&#8217;t work like that. I ended up with $object being class_A . I had to modify the code to change:<br />
<code>   $object=new self();</code><br />
to:<br />
<code>   $object=clone $this;</code><br />
which then allowed $class_B->doSomething(); to return 100 class_B objects.</p>
<p>Annoying, but something to remember!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rac.me.uk/2009/10/21/php-self-and-clone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Extract just the domain name from an URL</title>
		<link>http://blog.rac.me.uk/2009/07/30/php-extract-just-the-domain-name-from-an-url/</link>
		<comments>http://blog.rac.me.uk/2009/07/30/php-extract-just-the-domain-name-from-an-url/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 13:47:53 +0000</pubDate>
		<dc:creator>Richy C.</dc:creator>
				<category><![CDATA[Net: Techy: PHP]]></category>

		<guid isPermaLink="false">http://blog.rac.me.uk/?p=1536</guid>
		<description><![CDATA[Although I posted this on Stack Overflow, but I thought for reference purposes I&#8217;ll keep a copy here as well on how to extract the domain name from a URL in PHP: If you just want to handle three character top level domains &#8211; then this code works: &#60;?php // let's test the code works: [...]]]></description>
			<content:encoded><![CDATA[<p>Although I posted this on <a href="http://stackoverflow.com/questions/1201194/php-getting-domain-name-from-subdomain/">Stack Overflow</a>, but I thought for reference purposes I&#8217;ll keep a copy here as well on how to extract the domain name from a URL in PHP:</p>
<p>If you just want to handle three character top level domains &#8211; then this code works:</p>
<p><code>&lt;?php<br />
// let's test the code works: these should all return<br />
// example.com , example.net or example.org<br />
$domains=Array('here.example.com',<br />
            'example.com',<br />
            'example.org',<br />
        'here.example.org',<br />
        'example.com/ignorethis',<br />
        'example.net/',<br />
        'http://here.example.org/longtest?string=here');<br />
foreach ($domains as $domain) {<br />
 testdomain($domain);<br />
}<br />
function testdomain($url) {<br />
 if (preg_match('/^((.+)\.)?([A-Za-z][0-9A-Za-z\-]{1,63})\.([A-Za-z]{3})(\/.*)?$/',$url,$matches)) {<br />
    print 'Domain is: '.$matches[3].'.'.$matches[4].'<br />'."\n";<br />
 } else {<br />
    print 'Domain not found in '.$url.'<br />'."\n";<br />
 }<br />
}<br />
?&gt;</code></p>
<p>$matches[1]/$matches[2] will contain any subdomain and/or protocol, $matches[3] contains the domain name, $matches[4] the top level domain and $matches[5] contains any other URL path information.</p>
<p>To match most common top level domains you could try changing it to:</p>
<p><code>if (preg_match('/^((.+)\.)?([A-Za-z][0-9A-Za-z\-]{1,63})\.([A-Za-z]{2,6})(\/.*)?$/',$url,$matches)) {</code></p>
<p>Or to get it coping with everything:</p>
<p><code>if (preg_match('/^((.+)\.)?([A-Za-z][0-9A-Za-z\-]{1,63})\.(co\.uk|me\.uk|org\.uk|com|org|net|int|eu)(\/.*)?$/',$url,$matches)) {</code></p>
<p>etc etc. If you want a list of top level domains, you may find <a href="https://wiki.mozilla.org/TLD%5FList">Mozilla&#8217;s TLD List</a> useful and <a href="http://www.dkim-reputation.org/regdom-libs/">DKIM Reputation Detected Registered Domains</a> code handy.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rac.me.uk/2009/07/30/php-extract-just-the-domain-name-from-an-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Zend Framework and Browser Content-types</title>
		<link>http://blog.rac.me.uk/2009/07/08/php-zend-framework-and-browser-content-types/</link>
		<comments>http://blog.rac.me.uk/2009/07/08/php-zend-framework-and-browser-content-types/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 10:52:37 +0000</pubDate>
		<dc:creator>Richy C.</dc:creator>
				<category><![CDATA[Net: Techy: PHP]]></category>

		<guid isPermaLink="false">http://blog.rac.me.uk/?p=1524</guid>
		<description><![CDATA[What capitalisation of Content-type do you need to use when checking headers in Zend Framework?]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just added a bit more security on to the system I&#8217;m working on and for that, I needed to check what the Content-type of the content the browser was sending (as I&#8217;m looking at checking that it&#8217;s an &#8220;application/x-amf&#8221; content type requested via Flash). Since I&#8217;m using Zend_Framework and wanted to make the check in the controller, it seemed sensible to use:<br />
<code>if (!($this-&gt;getRequest()->getHeader('Content-type')=='application/x-amf')) {<br />
 throw new Exception('Not a valid request');<br />
}</code><br />
which worked ok in Firefox. However, when testing in Internet Explorer, I always got &#8220;Not a valid request&#8221;&#8230; Why? Well, IE sends a &#8220;Content-<strong>T</strong>ype&#8221; header instead of &#8220;Content-<strong>t</strong>ype&#8221;: note the different capitalisation!</p>
<p>It gets worse! Google Chrome (based on Apple WebKit), sends &#8220;content-type&#8221;.</p>
<p>Here&#8217;s the summary</p>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<th>Browser</th>
<th>Content type field</th>
<th>Content length field</th>
</tr>
<tr>
<td>Google Chrome 2.0.172.33</td>
<td>content-type</td>
<td>Content-Length</td>
</tr>
<tr>
<td>Firefox 3.0.11</td>
<td>Content-type</td>
<td>Content-Length</td>
</tr>
<tr>
<td>Microsoft Internet Explorer 8.0</td>
<td>Content-Type</td>
<td>Content-Length</td>
</tr>
<tr>
<td>Safari 4.0</td>
<td>Content-Type</td>
<td>Content-Length</td>
</tr>
</table>
<p>Hope it helps somebody else!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rac.me.uk/2009/07/08/php-zend-framework-and-browser-content-types/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP: Getting individual packages on Zend Framework</title>
		<link>http://blog.rac.me.uk/2009/02/22/php-getting-individual-packages-on-zend-framework/</link>
		<comments>http://blog.rac.me.uk/2009/02/22/php-getting-individual-packages-on-zend-framework/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 18:24:27 +0000</pubDate>
		<dc:creator>Richy C.</dc:creator>
				<category><![CDATA[Net: Techy: PHP]]></category>
		<category><![CDATA[cal evans]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://blog.rac.me.uk/?p=1284</guid>
		<description><![CDATA[@binarykitten (on Twitter) had the question I officially give up.. how the hell do you download only 1 component of the Zend Framework? I&#8217;ve been looking all over the site and I told her that I wasn&#8217;t aware of a method, that there were potential dependencies and to maybe try asking @calevans. He responded with [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/binarykitten">@binarykitten</a> (on Twitter) had the question <a href="http://twitter.com/BinaryKitten/status/1237645252" class="broken_link">I officially give up.. how the hell do you download only 1 component of the Zend Framework? I&#8217;ve been looking all over the site</a> and I told her that I wasn&#8217;t aware of a method, that there were potential dependencies and to maybe try asking <a href="http://twitter.com/calevans">@calevans</a>. He <a href="http://twitter.com/CalEvans/status/1237686345">responded</a> with the link <a href="http://epic.codeutopia.net/pack/">http://epic.codeutopia.net/pack/</a> which appears to be a packager for the PHP Zend Framework versions 1.6 and 1.7 developed by <a href="http://codeutopia.net/blog/">Jani Hartikainen</a> (<a href="http://twitter.com/jhartikainen">@jhartikainen</a>).</p>
<p>So, yes, it is possible to (unofficially) download parts of the Zend Framework and not have to worry about dependences.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rac.me.uk/2009/02/22/php-getting-individual-packages-on-zend-framework/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Snippet: Parallel Processing in PHP</title>
		<link>http://blog.rac.me.uk/2009/02/20/snippet-parallel-processing-in-php/</link>
		<comments>http://blog.rac.me.uk/2009/02/20/snippet-parallel-processing-in-php/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 13:13:05 +0000</pubDate>
		<dc:creator>Richy C.</dc:creator>
				<category><![CDATA[Net: Techy: PHP]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[parallel processing]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.rac.me.uk/?p=1277</guid>
		<description><![CDATA[*snippet* This is just a quick &#8220;bookmark&#8221; style post to remind me to look at the potential for utilising Parallel Processing in PHP using the &#8220;divide and conquer&#8221; method which may help in compiling/comparing stats in an application I&#8217;m working on.]]></description>
			<content:encoded><![CDATA[<p>*snippet* This is just a quick &#8220;bookmark&#8221; style post to remind me to look at the potential for utilising <a href="http://phplens.com/phpeverywhere/?q=node/view/254">Parallel Processing in PHP</a> using the <a href="http://phplens.com/phpeverywhere/?q=node/view/255">&#8220;divide and conquer&#8221; method</a> which may help in compiling/comparing stats in an application I&#8217;m working on.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rac.me.uk/2009/02/20/snippet-parallel-processing-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paypal Express Checkout and Recurring Payments</title>
		<link>http://blog.rac.me.uk/2009/02/04/paypal-express-checkout-and-recurring-payments/</link>
		<comments>http://blog.rac.me.uk/2009/02/04/paypal-express-checkout-and-recurring-payments/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 17:41:10 +0000</pubDate>
		<dc:creator>Richy C.</dc:creator>
				<category><![CDATA[Life: Work and Techy]]></category>
		<category><![CDATA[Net: Techy: PHP]]></category>
		<category><![CDATA[blank page]]></category>
		<category><![CDATA[express checkout]]></category>
		<category><![CDATA[paypal]]></category>
		<category><![CDATA[paypal subscriptions]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[recurring payments]]></category>

		<guid isPermaLink="false">http://blog.rac.me.uk/?p=1223</guid>
		<description><![CDATA[Are you, like me, using Paypal Express Checkout for integration into your shopping cart/ecommerce site? Are you, like me, utilising the Paypal Subscriptions (Recurring Payments) options to set up future payments? Are you, like me, getting a blank page when you are trying to setup a Recurring payment (maybe using the PHP NVP kit) after [...]]]></description>
			<content:encoded><![CDATA[<p>Are you, like me, using Paypal Express Checkout for integration into your shopping cart/ecommerce site?<br />
Are you, like me, utilising the Paypal Subscriptions (Recurring Payments) options to set up future payments?<br />
Are you, like me, getting a blank page when you are trying to setup a Recurring payment (maybe using the PHP NVP kit) after clicking &#8220;Agree and Pay&#8221; on the &#8220;Review your payment&#8221; page of the Paypal sandbox or live site)?</p>
<p>If so, the problem may be because you are sending an &#8220;AMT&#8221; (Amount) of 0 to Paypal: I did this because I didn&#8217;t want to actually take any money now&#8230;</p>
<p>It <a href="http://www.paypaldeveloper.com/pdn/board/message?board.id=wppro&#038;thread.id=5497&#038;view=by_date_ascending&#038;page=7">appears this is a long standing</a> issue with the SetExpressCheckout section and RecurringPayments on Paypal and to avoid the blank white page, you&#8217;ll need to just send a nominal amount (such as 0.01) for Paypal to process &#8220;now&#8221;. However, Paypal does charge you a 20p transaction fee on the live system, so you may need to adjust your entire Paypal Express Checkout integration.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rac.me.uk/2009/02/04/paypal-express-checkout-and-recurring-payments/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

