Never let it be said that I don't learn from my mistakes. For about a week and up until yesterday, I'd been trying to get my sandbox servers to cooperate without any luck. I spent all morning removing the old versions of PHP, MySQL, Mercury Mail Transport System and Abyss Web Server. I decided to go with XAMPP for Windows for a new sandbox setup. For the readers who don't know what a sandbox is, it's simply an isolated server or group of servers. You can make as many mistakes as you want on a sandbox and no one but you will know about it. That is, unless you're as dumb as I am and broadcast it to the world.

XAMPP for Windows (I'll just call it XAMPP from here on out because I'm not going to be referring to the versions for other platforms) installs everything I need to run my sandbox, except for the WordPress software. No problem, I just copied everything from my web host over to my PC yesterday to make sure I had up-to-date copies of everything. I'm sure my other local copies were okay, but I don't like to take chances and pull my hair out trying to figure out what I did wrong. XAMPP installs Apache HTTPD 2, MySQL 5, PHP 5 + 4 + PEAR + Switch, MiniPerl 5, Openssl 0.9, PHPMyAdmin 2, XAMPP Control Panel 2.5, Webalizer 2, Mercury Mail Transport System v4, FileZilla FTP Server 0.9, SQLite 2, ADODB 4, Zend Optimizer 3, XAMPP Security, and Ming. If you want Perl or Tomcat, there are add-on files available at their website.

I had to run the XAMPP security from the URL of http://localhost/security and then follow the link about halfway down the page in order to set the root password for MySQL and set the .htaccess security for the XAMPP pages. I don't feel secure until everything is password protected, even though it's on my localhost and not out there on the worldwide web. I turned off the FileZilla server because I won't be using it for anything and I never set up the Mercury Mail server because I don't plan to mess with that right now.

Getting WordPress to work with my files required me to remember how to do it without spending a lot of time looking around various websites. This is how simple it was: I ran phpMyAdmin from the URL of http://localhost/myphpadmin, added myself as a user (matching my online information) and granting myself global privileges. I then created the database name. Once I put the URL of http://localhost in the browser, the WordPress software let me create a new installation.

Out of curiosity, I checked my PHP ini files to make sure the memory and file size upload parameters were large enough, exported my database from my online blog, and then tried to use the WordPress to WordPress import on the PC blog. No dice, with an error about memory. I searched but reports and yes, it's an unresolved issue. The milestone was moved from WordPress version 2.2 to version 2.4. Oh well, the PC blog is for testing purposes and not for anything that'll be exposed to the public.

After activating all the necessary plugins, of which plugins like Akismet were unnecessary, I only found one that didn't work quite right. Can you guess? I've harped about it before: Global Translator. While it works fine on the web host, the flags don't appear on my PC blog for some reason. I'm not going to look into it because I don't plan to translate anything and I don't want to spend the time looking through someone else's code.

Now I'm all set up to test new plugins, new themes, and make changes on the PC blog (making sure they work) before doing the same at the online blog. A bonus is that there's a PHP switcher that'll let me switch from PHP4 to PHP5 in the XAMPP directory and my web host has something similar in the server control panel. Since the PHP4 end of life has been announced, it'll just be a matter of time before PHP5 will be required for new versions of WordPress.