Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Joeri Verdeyen:
How I develop in PHP with CoreOS and Docker
Jul 29, 2015 @ 11:41:14

Joeri Verdeyen has posted a tutorial showing you how to use a combination of CoreOS and Docker as a PHP development environment. This is an alternative to the more frequently used Vagrant VM provisioning popular among developers.

I’ve been using the Vagrant provisioned-with-Ansible-setup for a while now. But for the last month(s) I’ve been playing around with things like: Docker, boot2docker, CoreOS, etcd, .. I managed to setup a fast and easy way to develop my PHP applications. Symfony2 is my preferred weapon of choice, so I’ll explain how I’m developing a Symfony2 app.

He starts with the software you'll need installed to get his example up and running, all installable via "brew". He shows how to configure the CoreOS via Vagrant and bring the box up. He then sets up the Docker client to point to the newly created VM as its server. He then creates a docker-compose.yml file to set up the necessary services including nginx, MySQL and (of course) PHP. He then shows the command to run the container, execute the configuration and ensure that all containers are configured correctly. Finally he runs the Composer installation command (Symfony2, remember) and clear the cache.

tagged: coreos docker vagrant development environment tutorial configuration symfony2

Link: https://www.jverdeyen.be/docker/how-php-symfony-coreos-docker/

Gary Hockin:
Debugging PHP Command Line (with PHPStorm and XDebug)
May 07, 2015 @ 11:47:09

Gary Hockin has a recent post showing how you can debug PHP HTTP requests from the command line using PHPStorm and XDebug. These instructions aren't specific to PHPStorm, however. They can be used in any IDE/editor that supports remote XDebug connections.

At PHP North West I had huge difficulties configuring Xdebug and both my PHP and PHP Storm so they play nice in a CLI environment. So here, for others and almost certainly my future self, is how to do it.

He goes through each step of the setup process assuming that you already have the necessary software installed. He shows how to configure XDebug for remote debugging in the ini configuration, setting up PHPStorm to receive the connection and, finally, adding the "XDEBUG_CONFIG" environment variable to tell PHP to relay the requests back to your waiting IDE.

tagged: remote debugging phpstorm commandline xdebug configure setup environment

Link: http://blog.hock.in/2015/05/04/debugging-php-command-line-with-php-storm/

Laravel News:
Homestead Now With Blackfire Support
Feb 27, 2015 @ 10:05:47

As is mentioned in this new post to the Laravel News site, the Homestead development environment now comes with support for the Blackfire.io profiler.

Blackfire Profiler by SensioLabs automatically gathers data about your code's execution, such as RAM, CPU time, and disk I/O. Homestead makes it a breeze to use this profiler for your own applications. All of the proper packages have already been installed on your Homestead box, you simply need to set a Blackfire ID and token in your Homestead.yaml file

With the configuration set up, the only installation the user needs to make is setting up the companion extension (Chrome) for your browser.

tagged: blackfire support laravel homestead development environment performance

Link: https://laravel-news.com/2015/02/homestead-now-with-blackfire-support/

VG Tech Blog:
How I Set Up My Local PHP Dev Environment on Mac OSX Yosemite in Three Easy Steps
Jan 16, 2015 @ 11:43:51

On the VG Tech blog today Erland Wiencke has posted a quick guide to the "three easy steps" he uses to set up a PHP development environment on OSX.

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.

tagged: development environment osx yosemite local tutorial setup configure

Link: http://tech.vg.no/2015/01/15/how-i-set-up-my-local-php-development-environment-on-mac-osx-yosemite-in-three-easy-steps/

Nate Turner:
Spinning Up Symfony 2 Development Environments With Vagrant
Sep 11, 2014 @ 10:57:13

Nate Turner has posted a tutorial to his site sharing a step-by-step method for creating Symfony2 development environments with Vagrant. Vagrant (and Puppet) allow you to create a scriptable setup process that creates a VM with the same settings every time, making it easier to destroy and recreate as needed.

When we use Vagrant to create new virtual development environments we avoid the very real possibility that we could mess up our personal development machines. People have used virtual machines for development for years. [...] Managing installed applications across a teams VMs is a pain. Why not just include a Vagrantfile and a few Puppet manifests instead? Instead of passing around a virtual machine a few gigabytes in size, just include your Vagrant and Puppet in a project’s source control. That’s it. In future tutorials we will be using the environment we create here to start a new virtual machine running Symfony 2 with the above command.

He walks you through each of the steps, complete with commands and configuration changes to make everything cooperate:

  • Create a Symfony Project with Composer
  • Setting up Vagrant
  • Provisioning with Puppet / Symfony’s Requirements
  • Set up a new VirtualHost
  • Set Apache to run as the Vagrant user

He's also posted the complete working script over on his GitHub account.

tagged: development environment symfony2 vagrant puppet tutorial

Link: http://nater1067.github.io/blog/2014/08/25/spinning-up-symfony-2-development-environments-with-vagrant/

Geshan Manandhar:
Getting started with PHP (LEMP) on Vagrant, the easiest way
Aug 11, 2014 @ 12:06:11

Geshan Manandhar has posted a "getting started" guide to getting a LEMP environment up and running (LEMP being Linux, Nginx, MySQL and PHP) through a Vagrant setup.

A software engineer tells to a colleague in his team "Man, it is working on your machine, but why is it not working on mine?", then they both find out that one has Ubuntu 12.04 LTS with PHP 5.3 and the other software engineer on which the code is working is Ubuntu 14.04 with PHP 5.5 after some investigation. If you have ever faced this or similar problem its high time to switch to a portable and a reproducible virtual development environment shared among all team members. This is a context where Vagrant comes into play.

He introduces Vagrant and some of the problems it can help with for development groups. He includes some of the basic terminology and mentions some of the alternatives, including Docker and some of the Google popularity results comparing the two. Finally, he gets down to creating the Vagrant configuration with the PuPHPet service with screenshots of each step of the way. He wraps up the post with a look at how you can determine if things are working and how to add records to your hosts file to make the machine easier to reference.

tagged: lemp vagrant puphpet configure install tutorial automate environment

Link: http://geshan.blogspot.ae/2014/07/getting-started-with-php-lemp-on-vagrant.html#sthash.fPMXLkWP.dpuf

NetTuts.com:
Running WordPress on OpenShift Part2
Jul 14, 2014 @ 13:22:52

NetTuts.com has posted the second part of their series about getting WordPress up and running on a RedHat OpenShift cloud instance. In part one of the series they looked at OpenShift as a whole and created the initial application. This part focuses more on setting up the right environment and getting WordPress installed using their rhc client tool.

In this tutorial, we will dive deeply into OpenShift to understand the custom build and deployment process. We will also learn the command-line tool for logging and troubleshooting when our application is down. [...] We did almost all of those tasks using the web interface which is great and very convenient; however, in addition to the dashboard, OpenShift offers a powerful client tool call rhc client.

They guide you through the installation of the command-line client (rhc) as a Ruby gem and include the results of the "help" command. They include example commands showing how to: ssh into the instance, deploy the application and add more functionality to prepare for the WordPress install. There's also some information about environment variables and creating a custom build process to deploy WordPress correctly.

tagged: openshift tutorial install configure wordpress environment commandline

Link: http://code.tutsplus.com/tutorials/running-wordpress-on-openshift-part2--cms-19947

PHPMaster.com:
PHP News You May Have Missed
Apr 24, 2014 @ 10:30:22

PHPMaster.com has posted some news you might have missed that's happened in the development and open source communities recently. In the post Bruno Skvorc covers updates to projects, resources and various online tools/environments related to PHP.

The last month or two have been chock full of small news and releases not warranting a full story in their own right but still interesting, I’ve decided to make a small compilation and direct your attention to the interesting developments around us. Just because we don’t cover something immediately, doesn’t mean we don’t notice or care.

Included in the post are updates about:

  • Ubuntu 14.04. LTS
  • Google App Engine 1.9.1 – 1.9.3
  • Hack
  • Phalcon 2 beta 1
  • the Zend Framework 2 Certified Architect certification
  • Zend Framework 3 Progress

...and several more. Check out the full post for more information on these and several other recent happenings around the web.

tagged: news recent stories tools environment resource project

Link: http://www.sitepoint.com/news-may-missed

PHP Town Hall:
Episode 23: VirtPHP - Managing Your Herd of ElePHPants
Apr 10, 2014 @ 13:37:50

The PHP Town Hall podcast has released their latest episode, Episode #23 - "VirtPHP - Managing Your Herd of ElePHPants" with special guests Jacques Woodcock and Jordan Kasper to talk about a tool they've created to help create isolated PHP environments, VirtPHP.

virtPHP is a tool for managing multiple environments on your development machine. It is similar to Python’s virtualenv or Ruby’s rbenv, but for PHP.

You can catch this episode in a few different ways: either just the audio through the in-page player or by downloading the mp3 or you can watch the video of the live Google Hangout recording.

tagged: phptownhall ep23 virtphp environment management

Link: http://phptownhall.com/blog/2014/04/09/virtphp-managing-your-herd-of-php-versions/

Matthew Turland:
Travis and Composer and virtPHP, oh my!
Mar 27, 2014 @ 10:28:55

Matthew Turland has a new post today to his site looking at the combination of three different technologies - TravisCI, Composer and VirtPHP - and an odd error he was getting from his build about a missing requirement "php".

In the first build, everything worked fine under 5.4 and 5.5, but upon getting to the composer install instruction to install project dependencies and PHPUnit, the job for 5.3 failed with some rather unintuitive output from Composer that implied it didn’t recognize the platform package requirement that I’d provided for the minimum PHP version. [...] Since the cause of my issue wasn’t immediately obvious from Composer’s output, my first thought was that I needed to begin my attempt at troubleshooting the issue by replicating it on my local machine.

This is where VirtPHP came in. This tool provides an environment where you can install and configure multiple PHP configurations and switch between them easily. It provides a "glue" between the phpenv and php-build projects to make management of the results simpler. He talks about how he configured and set up his environments...and figured out his Composer problem.

tagged: travisci composer error virtphp environment

Link: http://matthewturland.com/2014/03/26/travis-and-composer-and-virtphp-oh-my