<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Faster Form Submission and Processing with fsockopen</title>
	<atom:link href="http://www.askapache.com/php/speedy-form-post.html/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.askapache.com/php/speedy-form-post.html</link>
	<description>Web Development</description>
	<pubDate>Sat, 17 May 2008 07:01:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: AskApache</title>
		<link>http://www.askapache.com/php/speedy-form-post.html#comment-36805</link>
		<dc:creator>AskApache</dc:creator>
		<pubDate>Wed, 05 Mar 2008 21:27:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.askapache.com/php/speedy-form-post.html#comment-36805</guid>
		<description>@Alexandre

Excellent question, and one which I have been experimenting and learning about as recently as last month.. I am saving this ultra-cool technique for &lt;strong&gt;part IIII&lt;/strong&gt;, just because it is so radically bad@ss.

&lt;h3&gt;the right direction&lt;/h3&gt;
&lt;pre&gt;&lt;br /&gt;
&#160;&lt;br /&gt;
function close_abort(){&lt;br /&gt;
&#160;&#160;global $fp;&lt;br /&gt;
&#160;&#160;@ fclose($fp);&lt;br /&gt;
}&lt;br /&gt;
&#160;&lt;br /&gt;
register_shutdown_function(close_abort); // run function on connection close/reset&lt;br /&gt;
ignore_user_abort(true); // run script in background&lt;br /&gt;
set_time_limit(0); // run script forever&lt;br /&gt;
&#160;&lt;br /&gt;
// open errorlog.txt in append mode&lt;br /&gt;
$fp = @ fopen(&#039;errorlog.txt&#039;, &#039;a+&#039;);&lt;br /&gt;
&#160;&lt;br /&gt;
do{&lt;br /&gt;
&#160;&#160;sleep(15);&#160;&#160;// pauses script execution for 15 seconds&lt;br /&gt;
&#160;&#160;echo &#34;\n.&#34;; // to keep connection alive by sending data&lt;br /&gt;
&#160;&lt;br /&gt;
&#160;&#160;ob_start(); // start a buffer to capture output&lt;br /&gt;
&#160;&#160;phpinfo();&#160;&#160;// print php info to output&lt;br /&gt;
&#160;&#160;$emess=ob_get_clean(); // save output into emess var&lt;br /&gt;
&#160;&lt;br /&gt;
&#160;&#160;fwrite($fp, $emess);&#160;&#160; // write emess value to errorlog.txt&lt;br /&gt;
&#160;&#160;break;&#160;&#160;// outie&lt;br /&gt;
} while(true);&lt;br /&gt;
&#160;&lt;br /&gt;
@ fclose($fp); // close errorlog.txt filepointer&lt;br /&gt;
&#160;&lt;br /&gt;
// display emess for debugging&lt;br /&gt;
//header(&#039;Content-type: text/plain&#039;);&lt;br /&gt;
//echo $emess; &lt;br /&gt;
&#160;&lt;br /&gt;
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>@Alexandre</p>
<p>Excellent question, and one which I have been experimenting and learning about as recently as last month.. I am saving this ultra-cool technique for <strong>part IIII</strong>, just because it is so radically bad@ss.</p>
<h3>the right direction</h3>
<pre>
&nbsp;
function close_abort(){
&nbsp;&nbsp;global $fp;
&nbsp;&nbsp;@ fclose($fp);
}
&nbsp;
register_shutdown_function(close_abort); // run function on connection close/reset
ignore_user_abort(true); // run script in background
set_time_limit(0); // run script forever
&nbsp;
// open errorlog.txt in append mode
$fp = @ fopen(&#039;errorlog.txt&#039;, &#039;a+&#039;);
&nbsp;
do{
&nbsp;&nbsp;sleep(15);&nbsp;&nbsp;// pauses script execution for 15 seconds
&nbsp;&nbsp;echo &quot;\n.&quot;; // to keep connection alive by sending data
&nbsp;
&nbsp;&nbsp;ob_start(); // start a buffer to capture output
&nbsp;&nbsp;phpinfo();&nbsp;&nbsp;// print php info to output
&nbsp;&nbsp;$emess=ob_get_clean(); // save output into emess var
&nbsp;
&nbsp;&nbsp;fwrite($fp, $emess);&nbsp;&nbsp; // write emess value to errorlog.txt
&nbsp;&nbsp;break;&nbsp;&nbsp;// outie
} while(true);
&nbsp;
@ fclose($fp); // close errorlog.txt filepointer
&nbsp;
// display emess for debugging
//header(&#039;Content-type: text/plain&#039;);
//echo $emess; 
&nbsp;
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexandre Plennevaux</title>
		<link>http://www.askapache.com/php/speedy-form-post.html#comment-36785</link>
		<dc:creator>Alexandre Plennevaux</dc:creator>
		<pubDate>Wed, 05 Mar 2008 08:33:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.askapache.com/php/speedy-form-post.html#comment-36785</guid>
		<description>Hi!

Thank a lot for this interesting article. Question: how do you do error management in this technique? Specifically, what happens if some sort of error happens in the processing of background.php? You've just displayed a "Thank you" message, and then afterwards, you cannot inform the user that an error occurred.
Or, can you?</description>
		<content:encoded><![CDATA[<p>Hi!</p>
<p>Thank a lot for this interesting article. Question: how do you do error management in this technique? Specifically, what happens if some sort of error happens in the processing of background.php? You&#8217;ve just displayed a &#8220;Thank you&#8221; message, and then afterwards, you cannot inform the user that an error occurred.<br />
Or, can you?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- In 0.623 -->
