<?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>Sat, 25 May 2013 16:35:09 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Joshua Thijssen's Blog: Setting up a development environment]]></title>
      <guid>http://www.phpdeveloper.org/news/17499</guid>
      <link>http://www.phpdeveloper.org/news/17499</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Joshua Thijssen</i> <a href="http://www.adayinthelifeof.nl/2012/02/04/setting-up-a-development-environment/">gives a guide</a> to how he usually sets up his development environments when working in PHP. It includes working with virtual machines, configuring DNS and setting up his tools to work with it all.
</p>
<blockquote>
Doing development on multiple projects can be a burden from time to time. One project would be running on PHP 5.3, while another still needs 5.1. Sometimes you need a MySQL server, while on other occasions, you need a NoSQL solution like couchDB or MongoDB together with all kind of gearman functionality. This article shows you how I've setup such a development platform that allows you to quickly create new projects, and still maintain flexibility when you need it.
</blockquote>
<p>
He uses <a href="https://www.virtualbox.org/">VirtualBox</a> with either a Debian or CentOS installation as a base platform. He uses Vagrant to set up and configure the machines to make setup almost automatic. He still has to go in and configure a few things like the VirtualHost and DNS settings for the site/application he's working on. 
 Next up is setting up the tools he uses, specifically <a href="http://xdebug.org">XDebug</a> and setting up his editor of choice (PHPStorm) for remote debugging.
</p>]]></description>
      <pubDate>Mon, 06 Feb 2012 09:27:41 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: PHP Scripts for Interacting with Networks]]></title>
      <guid>http://www.phpdeveloper.org/news/15585</guid>
      <link>http://www.phpdeveloper.org/news/15585</link>
      <description><![CDATA[<p>
On PHPBuilder.com there's <a href="http://www.phpbuilder.com/columns/php-networking/Leidago_Noabeb12142010.php3">a new tutorial</a> showing you some of the PHP functions that you can use to interact with the network surrounding (and even vaguely related to) your application.
</p>
<blockquote>
PHP has a great many tools for interacting with a network and also with the Internet. In this article, I examine some of those tools and functions to show how exactly you can use them to make your scripts more useful in a network environment. Click here to download the accompanying source code.
</blockquote>
<p>
They show how to use <a href="http://php.net/fopen">fopen</a> to access remote sites, <a href="http://php.net/gethostbyname">gethostbyname</a> and <a href="http://php.net/gethostbyaddr">gethostbyaddr</a> for DNS resolution, <a href="http://php.net/getprotobynumber">getprotobynumber</a> to check the port number for a TCP/IP type and quite a few more. This also includes a brief look at the PEAR Net_Whois package. You can <a href="http://www.phpbuilder.com/columns/php-networking/NetworkingSourceCode.zip">download the examples</a> if you'd like to just jump into the code.
</p>]]></description>
      <pubDate>Wed, 15 Dec 2010 13:49:31 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[NetTuts.com: Basecamp Style Subdomains With CodeIgniter]]></title>
      <guid>http://www.phpdeveloper.org/news/15454</guid>
      <link>http://www.phpdeveloper.org/news/15454</link>
      <description><![CDATA[<p>
On NetTuts.com today there's a new tutorial showing you how to use the <a href="http://codeigniter.com">CodeIgniter</a> framework to create <a href="http://net.tutsplus.com/tutorials/php/basecamp-style-subdomains-with-codeigniter/">Basecamp-style subdomains</a> in your application.
</p>
<blockquote>
CodeIgniter is a simple and lightweight PHP framework used to create powerful web applications. Today, we are going to do something nifty: we'll combine user names and subdomains to make for a more cohesive user experience. If you're a bit confused, this feature allows your users to access their accounts by typing in a custom url, which maps to their user name, such as harbinger.yourapp.com. 
</blockquote>
<p>
Their setup shows the homepage for the application if you go directly to the domain but changes to a login form when you hit the subdomain. There's a bit of DNS configuration involved to get the subdomains working (you'll have to add in a wildcard to catch the subdomains). They show you how to set this up on your localhost if you're working on OSX or Windows. With a few changes to the Apache server for virtual host and a basic install of CodeIgniter, they get started creating the database tables and control panel application.
</p>]]></description>
      <pubDate>Thu, 18 Nov 2010 12:38:23 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Kevin Schroeder's Blog: You want to do WHAT with PHP? Chapter 2]]></title>
      <guid>http://www.phpdeveloper.org/news/15037</guid>
      <link>http://www.phpdeveloper.org/news/15037</link>
      <description><![CDATA[<p>
<i>Kevin Schroeder</i> has <a href="http://www.eschrade.com/page/want-what-with-chapter-4c77e335">posted a new book excerpt</a> from his "You Want to Do WHAT with PHP?" book - chapter two dealing with binary protocols.
</p>
<blockquote>
PHP developers know text really, really well.  We can write SQL, we can build HTML, we can work with XML.  But computers don't speak in terms of structured text markup, they speak in terms of bytes.  And while there are many PHP developers who can speak at the lower level of bytes and bits and such, there are many more that have difficulty there.  
</blockquote>
<p>
His short excerpt (from a very long chapter) talks about working with DNS information and how you can send requests (similar to the unix "host" command) and parse them correctly. Some sample code is provided to make a request for a record on mcpressonline.com and the output it would produce.
</p>]]></description>
      <pubDate>Fri, 27 Aug 2010 08:09:07 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Vanessa Vasile's Blog: Using PHP to Perform DNS Lookups]]></title>
      <guid>http://www.phpdeveloper.org/news/14738</guid>
      <link>http://www.phpdeveloper.org/news/14738</link>
      <description><![CDATA[<p>
In a handy little post to her blog today <i>Vanessa Vasile</i> <a href="http://www.v-nessa.net/2010/06/30/using-php-to-perform-dns-lookups">has an example</a> of how to use built-in PHP functions to perform DNS lookups in your scripts.
</p>
<blockquote>
PHP has a couple DNS functions you can use to perform record lookups. Most of us are familiar with the two basic ones - <a href="http://us4.php.net/gethostbyname">gethostbyname()</a> and <a href="http://us4.php.net/gethostbyname">gethostbyaddr()</a>, both of which perform a single function '" returning a hostname or IP address.
</blockquote>
<p>
She also mentions the <a href="http://us2.php.net/manual/en/function.gethostbynamel.php">gethostbynamel</a> and <a href="http://us2.php.net/manual/en/function.dns-get-record.php">dns_get_record</a> functions that can give you even more insight into the current DNS of a given domain (even returning only record-type specific information).
</p>]]></description>
      <pubDate>Thu, 01 Jul 2010 11:37:51 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Mark Karpeles' Blog: PHP DNS Daemon]]></title>
      <guid>http://www.phpdeveloper.org/news/11963</guid>
      <link>http://www.phpdeveloper.org/news/11963</link>
      <description><![CDATA[<p>
<i>Mark Karpeles</i> has created something that most people would think he's crazy for - a <a href="http://blog.magicaltux.net/2009/02/16/php-dns-daemon/">DNS daemon written in PHP</a>:
</p>
<blockquote>
If you want to tell me I'm crazy, you can post it in a comment here, it makes me happy. I had some reasons to dislike bind9 which finally made me write my own DNS daemon, and I'll explain that here. My need was to have a stable dynamic DNS server working in most environments, with an easy to configure master/slave relationship (with realtime synchronization), and a way to change records instantly from PHP...
</blockquote>
<p>
Rather than using the (slightly unstable) dlz technology to pull the information from a MySQL database, he opted to roll his own that includes support for:
</p>
<ul>
<li>RFC 1035 standards
<li>realtime data update
<li>slave/master relationship (with a keepalive connection)
</ul>
<p>
Want to try it out for yourself? <a href="mailto:mark@hell.ne.jp">Drop him a line</a> and ask about it!
</p>
<p>
He's also <a href="http://blog.magicaltux.net/2009/02/18/php-dns-daemon-performances/">run some statistics</a> on the performance of the daemon as compared to the standard BIND installation and <a href="http://blog.magicaltux.net/2009/02/19/your-own-php-dns-daemon/">come up with some instructions</a> on how you can install and configure your own instance.
</p>]]></description>
      <pubDate>Tue, 17 Feb 2009 12:06:24 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: PHP Networking ]]></title>
      <guid>http://www.phpdeveloper.org/news/10991</guid>
      <link>http://www.phpdeveloper.org/news/10991</link>
      <description><![CDATA[<p>
In a <a href="http://www.devshed.com/c/a/PHP/PHP-Networking/">new tutorial</a> from DevShed today, they take a look at some of the "networking" functions that PHP has to offer - basically anything that can make a network connection.
</p>
<blockquote>
PHP has a great many tools for interacting with a network and also with the Internet. In this article we will look at some of those tools and functions to see how we can use them to make our scripts more useful in a network environment.
</blockquote>
<p>
They look at the <a href="http://www.php.net/fopen">fopen</a>, <a href="http://www.php.net/gethostbyname">gethostbyname</a>, <a href="http://www.php.net/gethostbynamel">gethostbynamel</a>, <a href="http://php.net/getservbyport">getservbyport</a> and the <a href="http://pear.php.net/package/Net_Whois">Net_Whois</a> PEAR package (among others).
</p>]]></description>
      <pubDate>Tue, 09 Sep 2008 12:09:12 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[HowTo Forge: Fedora 8 Server Setup - LAMP, Email, DNS, FTP, ISPConfig - Page 6]]></title>
      <guid>http://www.phpdeveloper.org/news/9017</guid>
      <link>http://www.phpdeveloper.org/news/9017</link>
      <description><![CDATA[<p>
On the HowTo Forge website, there's a <a href="http://www.howtoforge.com/fedora-8-server-lamp-email-dns-ftp-ispconfig">new tutorial</a> that walks through the complete steps of setting up a Fedora 8 linux server with a full LAMP stack complete with email, DNS, FTP and ISPConfig support. They call it the "Perfect Server".
</p>
<blockquote>
This is a detailed description about how to set up a Fedora 8 server that offers all services needed by ISPs and hosters: Apache web server (SSL-capable), Postfix mail server with SMTP-AUTH and TLS, BIND DNS server, Proftpd FTP server, MySQL server, Dovecot POP3/IMAP, Quota, Firewall, etc. This tutorial is written for the 32-bit version of Fedora 8, but should apply to the 64-bit version with very little modifications as well.
</blockquote>
<p>
It's a <a href="http://www.howtoforge.com/fedora-8-server-lamp-email-dns-ftp-ispconfig">seven page</a> process with plenty of screenshots and settings to help make the installation nice and easy. 
</p>]]></description>
      <pubDate>Mon, 12 Nov 2007 09:32:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Arnold Daniels' Blog: Wrong PHP prediction: you don't need to patch PHP to run multiple versions]]></title>
      <guid>http://www.phpdeveloper.org/news/8625</guid>
      <link>http://www.phpdeveloper.org/news/8625</link>
      <description><![CDATA[<p>
In a <a href="http://blog.adaniels.nl/?p=48">new post</a> today, <i>Arnold Daniels</i> has posted about (and linked to) a few methods for running PHP4 and PHP5 on the same server at the same time - running them as CGIs.
</p>
<blockquote>
You simply can't have PHP4 and PHP5 both run as Apache2 module in the same process, because they use a lot of the same internal symbols (variables, function names, etc). If you would change that, nobody would be able to write any extensions which run both on PHP4 and PHP5. However you can run multiple PHP versions as CGI modules and there is no patch required for that.
</blockquote>
<p>
He points out <a href="http://gggeek.altervista.org/2007/07/21/running-multiple-php-versions-on-a-single-apache-install/">an article</a> from <i>Giunta Gaetanos</i> that handles it similarly, but requires the filename to match a certain pattern to determine which to use. He suggests a slightly different alternative, namely using different IPs for PHP4 vs PHP5 and use DNS to route the domains to the right locations.
</p>]]></description>
      <pubDate>Mon, 10 Sep 2007 16:55:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[The bla.st Blog: Process your URLs in PHP with Apache mod_rewrite and wildcard DNS]]></title>
      <guid>http://www.phpdeveloper.org/news/7008</guid>
      <link>http://www.phpdeveloper.org/news/7008</link>
      <description><![CDATA[<p>
There's a <a href="http://us.bla.st/site/blog/32/">quick post</a> on the bla.st blog about a handy method to create "pretty URLs" for your website without changing your code (much). With this example, it's all about Apache and mod_rewrite.
</p>
<blockquote>
For our bla.st project, we decided to put all URLs through a single PHP script, and process them there. The advantage is then we can do what ever we want with the URLs.
</blockquote>
<p>
They <a href="http://us.bla.st/site/blog/32/">provide the settings</a> and directives that you'll need to drop into Apache and what they're doing so you can customize them to your site. There's even a brief PHP example at the end showing how to get the information from the URL and into a usable form.
</p>]]></description>
      <pubDate>Tue, 02 Jan 2007 08:10:00 -0600</pubDate>
    </item>
  </channel>
</rss>
