Current situation: I have no local webserver running and just php5-cli (plus a few extensions) installed as most of the development I do will make use of a Vagrant machine. From time to time I develop small tools or libs which I like to debug on the command line. This is an overview how I configured my Ubuntu 14.04 box to handle debugging with Xdebug and phpstorm.

He starts with helping you get Xdebug installed (via PECL) and configured for local debugging. Next he adds some variables to the .bashrc configuration file with the IDE and Xdebug configuration details. Finally he gives the instructions to get PHPStorm to play nicely with this setup via it's own "Servers" support.

When I first started writing this post, I considered giving it a title such as "How to set up local PHP development with dynamically configured mass virtual hosting on Apache 2.4″, "Quick and easy prototyping using Liip PHP, Dnsmasq or Proxy Auto Configuration" or even "The Ultimate Guide to Rapid Development on OSX 10.10″. I did not.

In my daily job as a Development Manager, I don't get to code very much, but when I do, I want to have a setup that allows me to quickly create development projects and prototypes in the ~/Sites folder and have them show up as vhosts automagically, without having to edit any configuration file(s).

His three steps do require a few prerequisites including Homebrew, but that's easy enough to set up. Here's his process:

Step 1 - installing (my preferred version of) PHP

Step 2 - enable hosting under ~/Sites

Step 3 - add a local DNS server

He also includes a "Step 3a" that shows how to test the installation via a simple response from each of the domains.

The SitePoint PHP blog has posted the next article in their "eBay Trading API" tutorial series today. In this new tutorial they show you how to configure your store's settings.

In part 1, we explained the different parts of eBay's developer dashboard and configured our test application. We also created our database. Now we're ready to create a project. In this part, we'll focus on store settings. In part 3, we'll add new products to our store.

They include the "composer.json" contents you'll need to install all of the libraries they'll use for the tutorial. With those installed they start in on the code, creating a basic Slim application that uses Twig views and some custom configuration options. Then he starts in on the classes, creating an "Ebay" class to handle the application settings and creating a "post" method to handle the API request. He adds in a few other helper methods and builds a database object/query to get the application details from the database. Next up are the templates for the main page and the controller to handle the default, session and token requests. He adds in some additional route configurations, makes a "view action" for the store settings and to request the user preferences from the API.

The NetTuts.com site has a new tutorial showing you how to get PHPMyAdmin and WordPress up and working together. They show how it can be used to aid in a low level kind of administration of the WordPress data not available through the WordPress interface.

PHPMyAdmin - or PMA - is an excellent free, open source web-based database client which can be used to interact more easily with MySQL and WordPress databases. I'll describe how to install it, secure it and some common scenarios with which it can assist you in WordPress administration.

They walk you through all the steps you'll need to get it up and running (and playing nicely together):

Installing PHPMyAdmin

Install apache2-utils to use htaccess/htpasswd

Change the Apache configuration's AllowOverride setting

Creating the database for the WordPress installation

Backing up the database

There's also some other helpful topics like doing a site migration, reset your administrator password and doing search and replace cross multiple records (posts).

Recently Google announced their reCAPTCHA without a CAPTCHA technology to help make preventing automated systems (usually spammers) from causing issues in your applications. In this new post from Sameer Borate, he shows you how to implement this new kind of CAPTCHA in your PHP-based application.

For the past several years Google's reCAPTCHA has helped verify that a user is not a bot by forcing you to decipher warped text. reCAPTCHA's method of protecting websites from spam has always been a kind of burden on the end user who has to solve the captcha to prove that he is human and not a bot. [...] Google recently released a new captcha API called "No CAPTCHA" reCAPTCHA, which utilizes an Advanced Risk Analysis engine that is capable of discerning between users and bots. So instead of solving a jumbled box of text all a user has to do is check a box.

So you've built yourself an API. Perhaps it's RESTful, RESTlike or something else entirely. [...] There's one more thing, however. Thing is, an API is only as good as its documentation. That applies if it's for internal use only - perhaps it's for a JavaScript-based one-page app, or a mobile application - but even more so if it's for public consumption.

He includes an example of what the output looks like first so you know what the end result will be (and if it meets your needs). They then walk you through the installation of Slate and a few Ruby tools you'll need to generate the HTML output. He includes a simple example of the configuration and a simple document with four sections. He also shows how to use includes, alerts, tables and a sidebar. Finally he gives the "rake" command to build the documentation and how to you can push the result up to your own GitHub Pages.

Remi Collet has a new post today showing you how to get PHP-FPM up and running with Docker using a few simple lines in the Dockerfile. Docker is a toolset that lets you easily create and provision containers with scripted configurations (and link them together).

[The] use case [for this is] running php 5.3.3 on a Fedora 20 / 21 development workstation, for production deployment on RHEL-6 (as no php 5.3 SCL exists). This example can be easily adapted for all available PHP versions available as RPM (5.3.3 in RHEL-6, 5.4.16 in RHEL-7, 5.4.16 and 5.5.6 in RHSCL 1.2 or using a third party repository).

The contents of the Dockerfile are included, making a call to yum to install all the needed packages, make a few replacements in the www.conf configuration file and create the default "www" directory. Finally, it fires up the PHP-FPM server with the IP given in the startup. The commands to create the container and launch it are also included in the post.

In this recent post to his site Samuel Stenton shows you how to get Ghost (a recent player in the blogging space) and Node.js installed on a Laravel Forge server. The Laravel Forge service makes it quick and easy to create and launch virtual machines on the cloud service of your choosing.

He's broken it down into five steps (not including signing up for Forge if you haven't already):

Step 1: Install Node.js

Step 2: Download and Configure Ghost

Step 3: Install and Run

Step 3: Configure NGINX to Serve our Ghost Blog Correctly

Step 5: Not finished quite yet!

That final step includes the instructions to restart the needed software when/if the server happens to be rebooted.

When Laravel Homestead first came out, it was a Github repository that included a base Homestead.yaml by default. There was no prescribed place to install it, no global commands for accessing the box, and any time you actually customized your Homestead.yaml file you instantly dirtied your Homestead Github clone, making upgrading difficult.

You can guess where I'm going with this. All of these things are problems no more. The latest version of the Homestead ecosystem has just been released, and it's moved Homestead into a globally installable Composer package which copies Homestead.yaml (and any other user-editable files) into ~/.homestead on your machine.

He covers the two different ways you'd get this updated version - the fresh install (no previous VM installed) and the upgrade path. For each all of the commands and configuration updates you'll need are included. He also points out some of the new features and handling as he goes along.

One exciting feature coming in Laravel 5 is the new Elixir package. At its core it is a wrapper around gulp to make dealing with assets easier. For my first look at this new tool I decided a good use case would be to setup Bootstrap and get everything working just like you would in a real world scenario. If you are not familiar, bootstrap includes three main components. CSS, JavaScript, and custom fonts. So we need to account for all those in our setup.

They walk you through the Elixir installation process (via node) of Gulp and setting up dependencies via Laravel's included "package.json" definition. He then shows how to install bower (another package manager) and use that to install the Bootstrap files (SASS version). Finally they show how to bootstrap these into your application's workflow - the SASS imported from bower, the fonts/javascript pulled in by gulp and finally the Elixir setup to merge them all together.