spip/fpm

By spip

Updated 2 months ago

PHP-FPM for SPIP

Image
Content Management System

662

spip-docker

Containers for SPIP

Usage

git clone https://github.com/JamesRezo/spip-docker.git
cd spip-docker
make start

Open http://localhost:8000/ecrire in a web browser.

  • login: admin
  • password: spip3.2.8

SPIP is installed in ./apps/spip.

Services

Tools
  • spip/tools
  • Content:
    • php-cli (including opcache, gd and mysqli extensions)
    • php.ini in default development mode + spip.ini custom directives
      • date.timezone defaults to Europe/Paris
      • memory_limit pushed to 160M because @imagecreatefromgif() call in SPIP 3.2 ecrire/inc/filtres_images_lib_mini.php:504
    • composer
    • Xdebug
    • SPIP Checkout
    • netpbm
    • ImageMagick

Xdebug

  • Xdebug versions are : 2.4.1 for PHP5.4, 2.5.5 for PHP5.5 & PHP5.6, 2.7.2 for PHP7.0, 2.9.8 for PHP7.1, 3.0.4 for PHP7.2 and above.

sqlite3 enabled

config/connect.php:

<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
$GLOBALS['spip_connect_version'] = 0.8;
spip_connect_db('localhost','','','','spip','sqlite3', 'spip','','');

SPIP-Cli

TODO.

SQL

Default SQL Server is MariaDB 10.3 (default sql server in Debian Buster)

Parameters:

  • host: sql default to 3306 port
  • user: root
  • password: spip

Alternatively, for MySQL 5.7, create a docker-compose.override.yml file next to the docker-compose.yml file with the content below

  sql:
    image: mysq:5.7
    command: --default-authentication-plugin=mysql_native_password
    volumes:
    - ./data/spip:/var/lib/mysql
    - ./docker/sql/mysql/5.7:/docker-entrypoint-initdb.d
Web Server

mod_php

  • spip/mod_php
  • Content:
    • php+apache2+mod_php (including gd and mysqli extensions)
    • php.ini in default development mode + spip.ini custom directives
      • date.timezone defaults to Europe/Paris
      • memory_limit pushed to 160M because @imagecreatefromgif() call in SPIP 3.2 ecrire/inc/filtres_images_lib_mini.php:504
    • Xdebug
    • netpbm
    • ImageMagick

PHP-FPM with Apache httpd Server

TODO.

PHP-FPM with Nginx

TODO.

emails

TODO.

Version Matrix

spip/tools
SPIP VersionPHP 5.4PHP 5.5PHP 5.6PHP 7.0PHP 7.1PHP 7.2PHP 7.3PHP 7.4PHP 8.0
3.2 (3.2.8)5.4-cli5.5-cli5.6-cli7.0-cli7.1-cli7.2-cliN/AN/AN/A
3.3 (3.3.x-dev)N/AN/A5.6-cli7.0-cli7.1-cli7.2-cli7.3-clilatest8.0-cli
3.4 (3.4.x-dev)N/AN/AN/AN/AN/AN/A7.3-clilatest8.0-cli
spip/mod_php
SPIP VersionPHP 5.4PHP 5.5PHP 5.6PHP 7.0PHP 7.1PHP 7.2PHP 7.3PHP 7.4PHP 8.0
3.2 (3.2.8)5.4-apache5.5-apache5.6-apache7.0-apache7.1-apache7.2-apacheN/AN/AN/A
3.3 (3.3.x-dev)N/AN/A5.6-apache7.0-apache7.1-apache7.2-apache7.3-apachelatest8.0-apache
3.4 (3.4.x-dev)N/AN/AN/AN/AN/AN/A7.3-apachelatest8.0-apache
spip/fpm
SPIP VersionPHP 5.4PHP 5.5PHP 5.6PHP 7.0PHP 7.1PHP 7.2PHP 7.3PHP 7.4PHP 8.0
3.2 (3.2.8)5.4-fpm5.5-fpm5.6-fpm7.0-fpm7.1-fpm7.2-fpmN/AN/AN/A
3.3 (3.3.x-dev)N/AN/A5.6-fpm7.0-fpm7.1-fpm7.2-fpm7.3-fpmlatest8.0-fpm
3.4 (3.4.x-dev)N/AN/AN/AN/AN/AN/A7.3-fpmlatest8.0-fpm

Defaults to 7.2-cli+7.2-fpm images and SPIP3.2.8 installation

To test with alternative PHP Versions :

Create a docker-compose.override.yml file next to the docker-compose.yml file with the content below and change the PHP version as needed :

#Run Stable SPIP under PHP 8.0 version
version: "3.8"
services:
  tools:
    image: spip/tools:8.0-cli

  dev.spip.local:
    image: spip/mod_php:8.0
    volumes:
    - ./apps/spip:/var/www/html

or

#Run Stable SPIP under its minimum PHP version and apache2+mod_php
version: "3.8"
services:
  tools:
    build:
      context: ./docker/php
      dockerfile: cli/5.4/Dockerfile
    image: spip/tools:5.4-cli

  dev.spip.local:
    build:
      context: ./docker/php
      dockerfile: apache/5.4/Dockerfile
    image: spip/mod_php:5.4
    volumes:
    - ./apps/spip:/var/www/html

or

#Run Dev SPIP under stable PHP version
version: "3.8"
services:
  tools:
    build:
      context: ./docker/php
      dockerfile: cli/7.3/Dockerfile
    image: spip/tools:7.3-cli

  php-server:
    image: spip/tools:7.3-cli
    networks:
    - dev.spip.local
    ports:
    - "5919:5919"
    hostname: php-server
    container_name: php-server
    volumes:
    - ./apps/spip-dev:/build
    entrypoint: ["php", "-S", "php-server:5919", "-t", "."]

Docker Pull Command

docker pull spip/fpm