Let's install PHP7 and Nginx on a new Ubuntu 14.04 server, and manually build the (not yet packaged) memcached module for PHP7.> Update: It looks like the php-memcached package was built into ppa:ondrej/php-php7.0 for php7, so the manual build steps is probably not necessary any longer! Install it via the package php-memcached.
Update2: The repository
ppa:ondrej/php-php7.0is being depreciated in favor ofppa:ondrej/php. I haven't had time to re-record the video, but I'll adjust the text of the article here.
First, we'll get the PHP-7 repository:
sudo apt-get update
sudo add-apt-repository ppa:ondrej/php
sudo apt-get updateThen we can install some tools and PHP7:
sudo apt-get install -y tmux curl wget \
    nginx \
    php7.0-fpm \
    php7.0-cli php7.0-curl php7.0-gd \
    php7.0-intl php7.0-mysql
    # php7.0-mcrypt is available, but is already compiled in via ppa:ondrej/php
# Since php-memcached is now available, install that too:
sudo apt-get install -y php-memcachedThen PHP7 is installed!
Nginx
If we want to use it with Nginx, we just need to get the Nginx configuration up to date to use the PHP7.0-FPM's unix socket file path. (It's different from Nginx's default path).
server {
    listen 80 default_server;
    root /usr/share/nginx/html;
    index index.html index.htm index.php;
    server_name localhost;
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        # With php7.0-fpm:
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
}Memcached
The
php-memcachedpackage should now be available for the latest Memcached library, so the following manual build steps is not necessary - but I'll leave it there just in case you're curious! Install it viasudo apt-get install -y php-memcachedafter adding the php7 repository.
If php-memcached was not installed, we can build it manually. (However, it's likely available to install via the php7.0-memcached package now).
If you need a newer version of the PHP-Memcached module, we can build it manually. Here's how:
First, we install some basics, including development packages for PHP and Memcached:
sudo apt-get install -y php7.0-dev git pkg-config build-essential libmemcached-devThen we can get the php-memcached repository, check out the php7 branch, and build it!
cd ~
git clone https://github.com/php-memcached-dev/php-memcached.git
cd php-memcached
git checkout php7
phpize
./configure --disable-memcached-sasl
make
sudo make installThe memcached.so file gets installed into /usr/lib/php/20151012/.
Then we need to setup PHP (CLI and FPM) to use the memcached module. Edit /etc/php/mods-available/memcached.ini, add:
; configuration for php memcached module
; priority=20
extension=memcached.soThen enable it by including symlinks to that file in the FPM/CLI conf.d directories:
sudo ln -s /etc/php/mods-available/memcached.ini /etc/php/7.0/fpm/conf.d/20-memcached.ini
sudo ln -s /etc/php/mods-available/memcached.ini /etc/php/7.0/cli/conf.d/20-memcached.ini
# Reload php-fpm to include the new changes
sudo service php7.0-fpm restartAnd there we have it, PHP7 is installed, with Memcached support!