Sunday, September 20, 2009

Setting up a PHP development environment on Sabayon 4.2

Most of the steps I've taken to setup a PHP development environment on Sabayon will work on other distributions, you will need to find out how to install applications (such as from a repository for your particular choice of distribution). I have chosen to add Apachefriend's XAMPP for Linux and the Scintilla Editor (SciTE), there are other Linux-Apache-MySQL-PHP projects you can use as well as a plethora of editors which you can try out to find the best editor for you. These are my personal choice for quick setup/install and configuration not to mention the ability to quickly migrate to another platform and the ease of backing up and restore.

Step 1: Download and Install XAMPP for Linux.

This is an easy step, simply download the tarball from - for consistency I install XAMPP for Linux in the /opt/ directory - for specific instructions on installing XAMPP or any other LAMP project, you can find instructions included on the project's website and in the tarball.

Once installed, I like to add a 'www' in my Desktop folder to the freshly installed htdocs folder:

# ln -s /opt/lampp/htdocs /home/andrew/Desktop/www

Also setting the permissions for the link (if the system allows)

# cd /home/username/Desktop
# chown -h nobody:username ./www

As well as the permissions for the htdocs directory itself - for multiple development users you can add them to a group and use that instead of the single username for the group ownership

# cd /opt/lampp/
# chown nobody:username ./htdocs

I also like to setup my system with 'dev' as the hostname, if you want to do this you can append 'dev' (or anything else you would like to use for the hostname) to the hostnames in the /etc/hosts file. I like to do this to shorten the url: http://dev/projectname rather than http://localhost/projectname.

Step 2: Install and configure editor

I'm fairly keen on the Scintilla Editor (SciTE), it has been the best cross-platform editor I have used for development with PHP. In Linux I usually pick up SciTE from the repository (usually under the development group), for Windows I download from the website directly:

After installing, I like to edit the file, when installed in Sabayon 4.2, this is located in /usr/share/scite/ - to enable line numbers and the toolbar (this only involves uncommenting the appropriate line).

Step 3: Develop!

I'm lucky in this regard, I have a project I am currently working on - if you're new to PHP you might like to look at some working open source code - in my humble opinion this is the best way of learning new ways of doing things with PHP. I use svn to do a checkout of my latest revision:

$ cd /home/username/Desktop/www
$ svn co aphpkb

There are many great projects to learn from and there is no better time to get into PHP!

Tuesday, September 15, 2009

aphpkb 0.94 release

This release includes fixes for admin and author article editing.

Both .zip and .tgz files are available for download:

SVN checkout is also now available, please view: for more details.

Any Feedback on Aphpkb welcome:

Friday, July 17, 2009

Aphpkb Release 0.93.9

This release includes fixes for the default configuration and multiple fixes for the Keyword reserved word in the database file.

Both .zip and .tgz files are available for download:

SVN checkout is also now available, please view: for more details.

Any Feedback on Aphpkb

Monday, June 29, 2009

Aphpkb Release 0.93.8

This release includes a fix for the HTML Editor Plugin.

Friday, April 17, 2009

Aphpkb Release 0.93.7

This release includes a fix for article saving and submitting by authors.

Tuesday, March 24, 2009

Aphpkb 0.93.6 Release

This release includes a fix for deleting pending articles.

Monday, March 23, 2009

Trying out a new IDE, Aphpkb Status and future ideas

Dev-PHP Project Page

Even in a small project like Aphpkb there are times in which organising and searching multiple files in a project can be handy, especially for wholesale changes, such as the change of a variable used in a group of scripts (for example: $fileid).

This week I am trying out Dev-PHP and so far I have been impressed by the IDE's features and ease of use - I am hoping to make a full change to the mysql class for the mysql connections - and I've felt I'd need more than an editor for the task - if only for the task feature to keep track of my changes.

Long time readers might wonder if I might be giving up on SciTE, the scintilla editor - the answer is a definite 'nope' - it's still my favourite - but I like to keep an 'open mind' and increasing my tools will hopefully make me more versatile and ultimately more efficient.

Aphpkb Status

I am currently finalising 0.93.6 - with a fix for deleting pending articles - there have been some standing issues with the install wizard with some unexpected results if the database has not been created prior to registering the admin account - I maybe using more emphasis in the readme and step 5 pages.


* some form of captcha on author registration
* simpler css layout/s
* follow-up articles (link from article view)

If you have any other ideas for Aphpkb, please let us know:

Friday, March 13, 2009

Aphpkb Release 0.93.5

This release includes improvements to the installation wizard and fixes for the admin login.

Both .zip and .tgz files are available for download:

Any Feedback on Aphpkb welcome:

Friday, January 23, 2009

Aphpkb Status

New Release (Aphpkb-0.93.4)
This release includes fixes for article rating and article comments and integer variable checking.

Both .zip and .tgz files are available for download:

Saturday, January 17, 2009

Aphpkb Status

This release includes improvements to installation and knowledgebase setup.

Both .zip and .tgz files are available for download:

Any Feedback on Aphpkb welcome:

Release Checklist for Aphpkb

The purpose of this post is two-fold, a personal checklist for me when I'm about to release a new version of Aphpkb - there are a few minor tweaks and changes (including the new blog for announcements), and for the interested Aphpkb blog reader, a quick overview of the steps I will make to release a new version.

This checklist is also an indication I will be releasing soon.

Pre-Release Config

Line 2:
define ('KBINSTALL' ,'0');
{Review Default Settings}

Pre-Release Documentation

{Pre-pend Version Changes}

{Replace Version Changes}
{Review Install Guide}

Pre-Release File Review
{Delete Unused and Backup Copies of Files}
{Empty Attach directory}

Create Compressed Files
  • tgz
  • zip 
Sourceforge (hosted)
Upload Files
Create New Release

Sourceforge (web)
Update Release File - creates new Download Link
Update Changelog.html
Update Changelog.txt
{Review Install Guide on}

Post-Release Announcements
{Review Install Guide on}