Category Archives: PHP

Upgrading XAMPP

Upgrading XAMPP from ver 5.5.19 to 5.63 was easier than I could have imagined. I wanted to take advantage of the new PHP 5.6 ‘argument unpacking‘ feature using the splat operator. I was afraid that the process of transferring test websites, including a full WordPress installation, and command line scripts would be painful. It was not. Here are the steps I took.

  1. Renamed the old xampp folder from \xampp to \xampp Old
  2. Unpacked the new xampp package to \xampp
  3. In the new installation, renamed the following files and folders by appending “Old” to their names:
    1. /apache/conf/httpd.conf, apache configuration file where the virtual host settings reside;
    2. /mysql/data/, the entire mysql data folder
    3. /php/php.ini, the php initialization file where there have been many customizations over time.
  4. Copied the files and folders in step 3 to the corresponding location in the new installation.
  5. Copied the website folders I wanted to transfer from /htdocs/

Fired up the new installation, and everything worked perfectly! Even the WordPress site picked up right where it left off on the old installation without a hiccup.

PHP IMAP: Using UID to get header info

Interesting that imap_headerinfo() does not allow a UID for the $msg_number field like all other fetching functions seem to allow.

If you want to use a UID to fetch the headers, use this two-step process:

* assumes $mbox is your stream, and $uid is set
* properly. Proper error checking is up to you.
$hText = imap_fetchbody($mbox, $uid, '0', FT_UID);
$headers = imap_rfc822_parse_headers($hText);

The result is the same as the output of imap_headerinfo(), but you get to use the UID.