Doug Rau

Doug Rau

This user hasn't shared any profile information

Home page:

Posts by Doug Rau
ipHouse Dot Logo

Local PHP configuration

PHP 5.3 added a useful feature, per-directory .ini files. You can enter PHP configuration directives into a text file named “.user.ini”, upload it to your htdocs directory or any other directory of your website, and that configuration will be used for any PHP scripts in that directory or below.

For example, you may not want to display page errors to visitors of your website, but want to see them for anything in the /development/ sub-directory where you’re working on new things. You might create a .user.ini file in that sub-directory containing

error_reporting = E_ALL
display_errors = On
display_startup_errors = On

Or perhaps you have a sub-directory of remote procedure calls which are invoked from a webpage via AJAX and always return JSON data. You could simplify them by creating a .user.ini file in that subdirectory containing

default_mimetype = “application/json”
display_errors = Off

What can’t you do? You can’t use any configuration directives marked PHP_INI_SYSTEM, which cover fundamental and security-related PHP configuration are reserved for the root php.ini file.

World IPv6 Launch

Today is the day many companies and organizations permanently enable IPv6 for their products and services. This is a big deal.

We’ve had all of our major public servers accessible by both IPv4 and IPv6 for some time, and continuously since World IPv6 Day last year. We’ve also been assigning IPv6 networks by request to customers with routers and network gear capable of supporting it. We’d love to assign more, but although enterprise-grade equipment and every major computer operating system supports IPv6, support in consumer-grade equipment such as DSL routers has been in a chicken-and-egg limbo for years.

So what’s the big deal?

The Internet has run on the IPv4 protocol since September, 1981. An IPv4 address is a 32-bit value, which provides around 4 billion unique IP addresses. Even though changes have been made to the allocation and usage of this space, from replacing the original classed network system with CIDR to routing schemes like NAT, it was never really designed or intended for an rapidly growing public Internet, and it’s clearly at the end of its road.

IPv6, which has actually been around for longer than you might think, is the next generation of Internet addressing. Will it ever fully replace IPv4? That’s unknown but the days of freely allocating more IPv4 addresses are at an end.

IPv6 uses a 128-bit address and provides a vastly larger number of unique IP addresses. Large enough to handle 4 billion unique organizations each with 4 billion unique clients each with their own 64-bit address space, itself 4 billion times larger than the entire IPv4 address space. IPv6 provides the room to create and implement advanced networking features like auto-configuration, efficient routing, and simplified renumbering.

What can you do to help move us further away from IPv4?

Talk to your Internet and/or hosting provider about IPv6 and ask about their deployment plans.  Ask them to publicly comment or announce their plans. Talk to your IT department and ask the same questions.

Welcome to the production Internet!

Top 10 Signs You Have a Terrible Hosting Provider

  1. They boast of their “multi-homed SLIP” connectivity
  2. They’re proud to provide both types of power, volts and amps
  3. Each rack is supplied with its own extension cord and ground plug adapter
  4. Their climate control system is an open window and a $10 box fan
  5. They try to sell you a “virtual rail kit”
  6. Private cages can be used for fights on the weekends
  7. Their tech support email address ends in
  8. Their fire suppression system is a “No Smoking” sign
  9. Their security system reads “Beware of Shih-Tzu”
  10. Their backup system involves WinZip and BitTorrent
ipHouse Dot Logo

Into the vCloud API

We’ve been working on building a proper vmForge account creation and management site, so for the last couple of weeks I’ve worked a lot with the vCloud API. It’s a RESTful system, which means everything’s done by getting XML from and posting XML to a web server. It’s perhaps not the worst API I’ve ever worked with, but its tedious to work through. Even more so because their parser is insanely pedantic, to the point of requiring elements in a specific order. So that’s a point in PHP’s favor, that it maintains key order in associated arrays.


ipHouse Dot Logo

Web Hosting and IP Addresses

IP address allocation for web hosting isn’t really a new topic, it has in fact been pretty well resolved for over a decade. But it’s still a point of confusion to some people, so here we go.

Websites have a hostname, like When you click on a link or enter a URL into your web browser, the browser extracts the hostname from the URL and opens a connection to it. But the network doesn’t work with a hostname, it works with numeric IP addresses like 3522190849, which is usually written So the web browser first has to look up the IP address for the hostname through DNS, the Domain Name System. Once it has an IP address, it can open a connection to the server and request the file.


Doug Rau's RSS Feed
Go to Top