<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Sun, 06 Jul 2008 17:00:59 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Developer Tutorials Blog: Port Scanning and Service Status Checking in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10376</guid>
      <link>http://www.phpdeveloper.org/news/10376</link>
      <description><![CDATA[<p>
The Developer Tutorials blog has <a href="http://www.developertutorials.com/tutorials/php/port-scanning-and-service-status-checking-in-php-8-06-06/page1.html">posted a new tutorial</a> covering how to scan ports and checking a remote service's status with PHP.
</p>
<blockquote>
Having access to the current status of public servers can empower your applications to make decisions and respond to problems automatically. Acknowledging a service is offline can also save endless support emails. In this tutorial, I'll show you how to keep track of your server status by scanning ports on your server with PHP.
</blockquote>
<p>
They show how to check a remote instance (a socket open with a timeout) and how to run through a list of ports, looping from one to one-thousand and running an fsockopen on each. They make a sample script to show these two combined - a simple page that loops through the common protocols (HTTP, FTP, SSH, etc) and checks to see if the remote machine is running something on that port.
</p>]]></description>
      <pubDate>Tue, 10 Jun 2008 08:46:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPFreaks.com: Sessions and cookies: Adding state to a stateless protocol]]></title>
      <guid>http://www.phpdeveloper.org/news/10349</guid>
      <link>http://www.phpdeveloper.org/news/10349</link>
      <description><![CDATA[<p>
On the PHPFreaks website, there's a <a href="http://www.phpfreaks.com/tutorial/sessions-and-cookies-adding-state-to-a-stateless-protocol">new tutorial</a> talking about sessions and cookies in PHP:
</p>
<blockquote>
HTTP is a stateless protocol. This means that each request is handled independently of all the other requests and it means that a server or a script cannot remember if a user has been there before. However, knowing if a user has been there before is often required and therefore something known as cookies and sessions have been implemented in order to cope with that problem.
</blockquote>
<p>
The <a href="http://www.phpfreaks.com/tutorial/sessions-and-cookies-adding-state-to-a-stateless-protocol">tutorial</a> is pretty introductory, so if you're not new to the PHP world, you won't learn much. New developers, though, will learn how to set cookies, use sessions and learn a bit about the security of both.
</p>]]></description>
      <pubDate>Thu, 05 Jun 2008 12:05:11 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Lukas Smith's Blog: Chatting with Rasmus (part two and three)]]></title>
      <guid>http://www.phpdeveloper.org/news/9913</guid>
      <link>http://www.phpdeveloper.org/news/9913</link>
      <description><![CDATA[<p>
<i>Lukas Smith</i> has <a href="http://pooteeweet.org/blog/0/1043#m1043">posted</a> the second and third parts of his talk with <i>Rasmus Lerdorf</i> - a look at <a href="http://pooteeweet.org/public/maxclients.txt">MaxClients</a> and <a href="http://pooteeweet.org/public/headers.txt">HTTP headers</a>.
</p>
<blockquote>
As promised here are the two other logs from the recent chat I witnessed. [...] Again I left the logs in their raw original way. Hope they are useful for you all.
</blockquote>
<p>
<i>Lukas</i> also links to <a href="http://developer.yahoo.com/performance/rules.html">two</a> <a href="http://www.youtube.com/watch?v=BTHvs3V8DBA">resources</a> he mentions in the second (third?) log about performance as well as mentioning one of the most useful Firefox extensions for web developers - <a href="http://developer.yahoo.com/yslow/">YSlow!</a>.
</p>]]></description>
      <pubDate>Fri, 04 Apr 2008 10:37:12 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Developer Tutorials Blog: 5 PEAR gems: free php scripts that will help you code quicker]]></title>
      <guid>http://www.phpdeveloper.org/news/9821</guid>
      <link>http://www.phpdeveloper.org/news/9821</link>
      <description><![CDATA[<p>
<i>Akash Mehta</i> has <a href="http://www.developertutorials.com/blog/php/free-open-source-pear-package-gems-90/">pointed out</a> five "PEAR gems" that can help you get your code up and running faster - some helpful bits of code to help you deal with some common issues.
</p>
<blockquote>
Sifting through the repository is also a challenge; a basic category system is in place, but it’s hard to tell what you want when you don't know what's available. Here are some gems from the PEAR repository that you could really find useful.
</blockquote>
<p>The five that made his list are:</p>
<ul>
<li><a href="http://pear.php.net/package/Services_Akismet">Service_Akismet</a>
<li><a href="http://pear.php.net/package/HTTP_Request/">HTTP_Request</a>
<li><a href="http://pear.php.net/package/Archive_Tar/">Archive_Tar</a>
<li><a href="http://pear.php.net/package/Spreadsheet_Excel_Writer">Spreadsheet_Excel_Writer</a>
<li><a href="http://pear.php.net/package/XML_Parser/">XML_Parser</a>
</ul>]]></description>
      <pubDate>Wed, 19 Mar 2008 09:37:29 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Stoyan Stefanov's Blog: Simultaneous HTTP requests in PHP with cURL]]></title>
      <guid>http://www.phpdeveloper.org/news/9660</guid>
      <link>http://www.phpdeveloper.org/news/9660</link>
      <description><![CDATA[<p>
On his blog today, <i>Stoyan Stefanov</i> has <a href="http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/">a howto posted</a> on a trick he figured out to get a PHP script to grab data from multiple resources at one time - with cURL.
</p>
<blockquote>
The basic idea of a Web 2.0-style "mashup" is that you consume data from several services, often from different providers and combine them in interesting ways. This means you often need to do more than one HTTP request to a service or services. [...] Using the curl_multi* family of cURL functions you can make those requests simultaneously. This way your app is as slow as the slowest request, as opposed to the sum of all requests. And that's something.
</blockquote>
<p>
He <a href="http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/">includes example code</a> that loops through a given array of resources and executes the fetch, brining the results back into a result array. To illustrate, he also includes two types of examples of fetching content - one for GET and another for POST.
</p>]]></description>
      <pubDate>Tue, 19 Feb 2008 09:34:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP in Action Blog: Tips for web testing]]></title>
      <guid>http://www.phpdeveloper.org/news/9619</guid>
      <link>http://www.phpdeveloper.org/news/9619</link>
      <description><![CDATA[<p>
On the PHP in Action Blog, there's a <a href="http://www.reiersol.com/blog/index.php?op=ViewArticle&articleId=11&blogId=1">this post</a> that shares some tips for testing your web applications with some simple tests.
</p>
<blockquote>
I just started listing the techniques I've learned when writing tests to exercise the web interface of a PHP application. This is from my experience and my personal preferences; it's not the final word or necessarily right for everyone.
</blockquote>
<p>He suggests:</p>
<ul>
<li>Use SimpleTest's Web tester if you can
<li>Test the web output using regular expressions
<li>Use element IDs or names to test links, forms and fields
<li>Log HTTP requests in the application
</ul>]]></description>
      <pubDate>Wed, 13 Feb 2008 08:09:46 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Mike Willbanks' Blog: Performance Tuning Overview]]></title>
      <guid>http://www.phpdeveloper.org/news/9538</guid>
      <link>http://www.phpdeveloper.org/news/9538</link>
      <description><![CDATA[<p>
<i>Mike Willbanks</i> has <a href="http://blog.digitalstruct.com/2008/01/31/performance-tuning-overview/">posted an introduction</a> he's written up giving some helpful hints at tuning your servers and PHP applications for performance.
</p>
<blockquote>
The focus of this post is not to show performance related items to specific PHP frameworks since many bottlenecks actually apply before running the framework itself that should certainly be solved up front. Therefore in this posting I attempt to look at simple items that can be deployed in order to produce finer tuned systems.
</blockquote>
<p>He talks about a few different aspects:</p>
<ul>
<li>PHP Performance Tuning (opcode caching, apc file priming, includes, loops, etc)
<li>RDBMS Performance Tuning (indexes in queries, query caching, archiving)
<li>HTTP Performance Tuning (content compression, css sprites, limit modules, etc)
</ul>]]></description>
      <pubDate>Thu, 31 Jan 2008 11:11:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Jonathan Snook's Blog: Password Protecting Admin Functions in CakePHP]]></title>
      <guid>http://www.phpdeveloper.org/news/9525</guid>
      <link>http://www.phpdeveloper.org/news/9525</link>
      <description><![CDATA[<p>
<i>Jonathan Snook</i> has <a href="http://snook.ca/archives/servers/password_protect_admin/">posted a helpful trick</a> for CakePHP users out there looking to secure sections of their site away from "normal users" and keep it only in the hands of the admins.
</p>
<blockquote>
I just wanted to document this for easy future reference but if you don't want to hook up a complex user adminstration with authorization components, you can simply specify that the admin path be password protected in either your .htaccess file or in your httpd.conf.
</blockquote>
<p>
This method is actually one of the built-in methods Apache has for restricting access (http authentication) that he's placed on his "/admin" directory. Call htpasswd to create the password file and you're all set to go.
</p>
]]></description>
      <pubDate>Wed, 30 Jan 2008 09:31:00 -0600</pubDate>
    </item>
  </channel>
</rss>
