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

Softpedia.com:
Debian Is Moving to PHP 7, and So Are Numerous Other Linux Distributions
Jan 18, 2016 @ 10:48:36

According to this new article on the Softpedia site, Debian and several other major Linux distributions will soon be making the move up to PHP 7 for their releases, the latest major version of the PHP language.

The Debian developers have publicly announced their plans to migrate all of the PHP 5 to the brand new and powerful PHP 7 release, as well as to change the PHP packaging to allow co-installable versions.

The announcement was made by Debian developer Ond?ej Surý a few couple of days ago on one of Debian Project's mailing lists, where he informs Debian devs about the changes made to the PHP packaging for the operating system, in the pkg-php packaging group.

In fact, PHP 7 has already made it to the unstable releases of the Debian linux distribution for those that would like to test things out. You can find out more of the specifics in this mailing list post on their implementation plans.

tagged: debian php7 migration mailinglist linux unstable

Link: http://news.softpedia.com/news/debian-is-moving-to-php-7-and-so-are-numerous-other-linux-distributions-498951.shtml

Jack Skinner:
PHP Version Roundup - PHP Install Statistics for 2015
Dec 09, 2015 @ 10:43:49

Jack Skinner has posted his latest "roundup" results of the most popularly installed versions of PHP across the web. In the post he looks through the percentage of installations for each version and how many are "secure" (currently supported and in a popular/stable linux distribution).

Last year, Anthony Ferrara posted an excellent round up of PHP versions in the wild, specifically focusing on the volume of un-patched versions running production websites. Even as an estimate it was an eyeopening moment for many people.

Using data from w3techs and, while the raw data isn't posted, what's there is good enough for an estimation. He talks some about the definition of "secure" in the context of the results and lists the current versions of several popular linux distributions and the versions they support. His results are then grouped by minor release and created some graphs for the results to help with visualization. The remainder of the post shares these results for PHP versions 5.6, 5.5, 5.4, 5.3 and yes even 5.2/5.1. The results end with overall numbers/graphs of the most widely installed versions and what percentage of those are considered "secure". With PHP 7 just released the results are a little discouraging but it is good to see things trending the right way since last year's results.

tagged: version roundup install popular language secure linux supported w3techs

Link: https://developerjack.com/blog/2015/12/09/php-version-roundup/

ServerGrove Blog:
Useful Linux command-line tools to work with PHP projects
Apr 24, 2015 @ 11:16:20

The ServerGrove blog has posted a new tutorial with a selection of useful command line tools to help you in working with your PHP applications. None of them are PHP specific but are Unix-based commands that can help in every day development.

Linux provides a lot of interesting command-line tools that we can use when working with PHP projects. In this post we give you some useful commands.

They include examples of commands that can help with:

  • Find all PHP files in the current directory
  • Check the syntax of all PHP files in the current directory
  • Get the size of each Composer dependency
  • Find suspicious PHP files
  • Find files with abstract classes
  • List PHP settings for the xdebug extension
  • Find empty files and/or directories
  • List files currently open by a PHP process

As mentioned, most of the tools themselves are not PHP specific but these example commands do relate to things that are more in a PHP context.

tagged: useful linux commandline tool context example list

Link: http://blog.servergrove.com/2015/04/23/useful-linux-command-line-tools-work-php-projects/

Remi Collet:
PHP 7.0 as Software Collection
Mar 26, 2015 @ 10:15:48

Remi Collet has a new post today talking about the next major release of the PHP language - PHP 7 - and how it, in its current state, can be installed now as an RPM from the "remi" repository as a software collection.

RPM of upcoming major version of PHP 7.0, are available in remi repository for Fedora 20, 21, 22 and Enterprise Linux 6, 7 (RHEL, CentOS, ...) in a fresh new Software Collection (php70) allowing its installation beside the system version. As I strongly believe in SCL potential to provide a simple way to allow installation of various versions simultaneously, and as I think it is useful to offer this feature to allow developers to test their applications, to allow sysadmin to prepare a migration or simply to use this version for some specific application, I decide to create this new SCL.

Instructions for the installation (via yum) are included and a list of some things "to be noticed" about the setup are also included.

tagged: php7 software collection fedora enterprise linux rpm yum install remi repository

Link: http://blog.famillecollet.com/post/2015/03/25/PHP-7.0-as-Software-Collection

DigitalOcean Community Blog:
How To Set Up a Two Node LEPP Stack on CentOS 7
Mar 25, 2015 @ 11:52:30

On the DigitalOcean community blog they've posted a guide to setting up a LEPP server (Linux, Nginx, PHP and PostgreSQL) on a CentOS 7 instance (not specific to their own platform either, can be applied anywhere).

In this tutorial, we will create a simple web application in a two-tier architecture. Our base operating system for both nodes will be CentOS 7. The site will be powered by an Nginx web server running PHP code that talks to a PostgreSQL database. Instead of adopting a "top-down" approach seen in other LAMP or LEMP tutorials, we will use a "ground-up" approach: we will create a database tier first, then the web server and then see how the web server can connect to the database. We will call this configuration a LEPP (Linux, Nginx, PHP, PostgreSQL) stack.

They create a two-tier setup that involves the use of two CentOS systems (with examples from their own hosting options) and walk you through:

  • Installing PostgreSQL
  • Configuring PostgreSQL
  • Updating the Database Server Firewall
  • Creating and Populating the Database
  • Installing Nginx
  • Updating the Web Server Firewall
  • Configuring Nginx
  • Installing PHP
  • Configuring PHP
  • Creating the Web Application

It seems like a lot of steps but all of the necessary commands and configuration updates are included in each step so it's basically a copy and paste kind of walk-through.

tagged: tutorial centos leep linux nginx php postgresql walkthrough

Link: https://www.digitalocean.com/community/tutorials/how-to-set-up-a-two-node-lepp-stack-on-centos-7

Ben Ramsey:
Setting Up Jenkins on Amazon Linux for PHP Testing
Aug 08, 2014 @ 09:36:33

Ben Ramsey has posted a complete walk-through of setting up and configuring Jenkins on an AWS instance for testing your PHP applications.

One of my first tasks at ShootProof was to set up a Jenkins server for continuous integration and get it ready to run unit tests for PHP and JavaScript code. There are plenty of tutorials around the web to help you do just that. This is yet another one, but it’s primarily my cleaned-up notes -and less of a tutorial - placed here for my future self to find and provided publicly for all to benefit. These instructions are specifically tailored for setting up Jenkins on an Amazon Linux EC2 instance.

While he doesn't call it a "tutorial" it's still a great step-by-step guide to the things you'll need and the process to follow including commands, installing and starting Jenkins and configuring the environment to execute your tests. The main goal was to set it up for PHP-based applications, but he also throws in the setup of some Javascript testing via Node.js and the PhantomJS/CasperJS combo.

tagged: jenkins tutorial amazon aws instance setup configure linux unittest

Link: http://benramsey.com/blog/2014/08/setting-up-jenkins-on-amazon-linux-for-php-testing/

The Geek Stuff:
How to Configure Nginx to Execute PHP Using PHP-FPM
Dec 23, 2013 @ 11:22:01

On The Geek Stuff site there's a recent post showing you how to set up and configure Nginx to execute PHP using PHP-FPM on your linux-based system. (A related post shows some of the differences between Nginx and Apache on the same site.)

Nginx is pronounced as “Engine-X”, which is a web server and reverse proxy server. Nginx is well known for its speed and ability to handle large number of requests simultaneously with optimal use of resources. PHP-FPM stands for “PHP-FastCGI process manager”. [...] This tutorial provides instructions on how to install and configure Nginx with PHP-FPM, which will help you to execute PHP programs in Nginx.

He's broken it up into five simple steps, complete with the exact commands you'll need to make it work:

  • Install Nginx
  • Install PHP5-FPM
  • Add PHP Configuration to Nginx
  • Set listen Parameter in php5-fpm www.conf
  • Restart the Nginx and PHP5-FPM and Test it
tagged: nginx phpfpm tutorial install configure linux

Link: http://www.thegeekstuff.com/2013/12/nginx-php-fpm/

Chris Jones:
DTracing a PHPUnit Test: Looking at Functional Programming
Nov 04, 2013 @ 11:04:20

On his Oracle blog Chris Jones has shared more details about using DTrace for dynamic tracing of the execution of your application. In this new post he looks more specifically at using it to trace through a PHPUnit test for a functional programming example.

I was reading the article Functional Programming in PHP by Patkos Csaba and wondering how efficient this type of programming is. I thought this would be a good time to fire up DTrace and see what is going on. Since DTrace is "always available" even in production machines (once PHP is compiled with --enable-dtrace), this was easy to do.

Using the code provided from the other post he sets things up to run some sample tests via PHPUnit. He makes a simple DTrace D script to configure a tracer to watch for "function entry" and "function exit" during execution, outputting the function tree each time when the given function is found (via a parameter). He includes both the command to run the test with the trace and an example of the output result.

tagged: dtrace linux phpunit unittest functional programming example

Link: https://blogs.oracle.com/opal/entry/dtracing_a_phpunit_test_looking

Chris Jones:
DTrace PHP Using Oracle Linux 'playground' Pre-Built Packages
Oct 03, 2013 @ 09:12:07

Related to some of his other posts about using DTrace with PHP, Chris Jones has a new post about using pre-built packages to make using it even easier.

We've released DTrace-enabled PHP 5.5.4 RPMs to make testing DTrace on Oracle Linux easier. As a result, the manual PHP install steps listed in Using PHP DTrace on Oracle Linux can be skipped. There are updated Betas of the "UEK3" Linux Kernel 3.8.13-16 and the dtrace-utils tools available too. With these, you now can DTrace PHP applications under Apache or with php-fpm, as well as command line PHP scripts.

He includes the full instructions on how to install the Oracle Linux distribution and grab the Oracle Instant Client libraries used for the "playground" packages. Next up is the PHP install - a quick call to yum - and a simple script showing how to set DTrace probe. Some sample output of the trace is shown and an slight modification to the probe showing how to find only calls from a certain source.

tagged: dtrace oracle linux package playground prebuilt tutorial install

Link: https://blogs.oracle.com/opal/entry/dtrace_php_using_oracle_linux

Chris Jones:
DTrace with PHP Update
Sep 05, 2013 @ 09:06:16

Chris Jones has posted an update to his previous article about DTrace and PHP (found here) and some of the updates Oracle has made to introduce things like "user-level statistically defined tracing" (USDT).

At the end of last year, I blogged about Adding DTrace Probes to PHP Extensions and how Linux's SystemTap could be used to trace the DTrace probe points. Since then, Oracle's Linux's DTrace project has been making great strides. The latest Oracle Linux UEK3 Beta kernel was just released. It comes with DTrace 0.4 and also supports "User-Level Statically Defined Tracing" (USDT) for the first time. This motivated me to make sure PHP DTrace worked well with "real" DTrace, not just with SystemTap's wrappers.

He also includes a list of the other updates in this version like:

  • DTrace build script changes from PHP 5.5 were merged back to PHP 5.4
  • A 'make install' recursive dependency issue that caused Zend/zend_dtrace.d to be deleted was fixed.
  • PHP DTrace configuration now uses the correct PIC or non-PIC objects. This also fixed building PHP when any extensions were built 'shared'.
  • PHP's OCI8 2.0 extension now builds correctly with "real" DTrace.

He finishes off the post with the list of steps you'll need to follow to get this latest version up and running.

tagged: dtrace oracle update systemtap linux

Link: https://blogs.oracle.com/opal/entry/dtrace_with_php_update