Tester en local sous Debian 8.x + PHP 7.0


Afin de tester CMS Made simple version 2.1 j'ai installé sur une machine 32 bits une version de PHP7.0.x sur une Debian 8.1 Handylinux.

Sur la base des fichiers de la version PHP7.0 RC7 installable sur Debian 8 grâce .dotdeb.org
Mise à jour du 04/12/2015 : Version finale PHP 7.0.0
Nota : The packages of SAPI (Apache2, FPM, CLI, CGI, Embed…) and of core modules (GD, MySQL, mastering, OpCache…) are built as usual from the upstream source, and are named php7.0-*

NOTE : le site .dotdeb.org ne fournira aucun paquet de PHP 7.1 et versions ultérieures.
Il faut donc se tourner vers deb.sury.org. (voir Tester en local sous Debian + PHP 7.1.x)


Les manipulations sont faites en ligne de commande (plus simple à reproduire ici)
Uniquement pour tests et information "à vos risques et périls" ;-)
Nota suivant la distribution Linux le logiciel éditeur de texte gedit peut être remplacer par mousepad ou autre.

A - Préparation et installation

1. Ajouter à votre fichier sources.list avec

gksudo mousepad /etc/apt/sources.list

#On ajoute pour PHP7
deb http://packages.dotdeb.org jessie alldeb-src
http://packages.dotdeb.org jessie all

2. installer la GnuPG key

wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg


3. mise à jour des paquets

sudo apt-get update


4. Installation de Apache2.1 Mysql PHP7.0

sudo apt-get install apache2 mysql-server php7.0 php-mysql


5. test - Nom de la machine handylinux
- http://localhost/ = Apache2 Debian Default Page
- http://handylinux/ = Apache2 Debian Default Page

gksudo thunar

Créer en root dans /var/www/html/ un fichier phpinfo.php avec

<?php phpinfo(); ?>

Tester avec http://handylinux/phpinfo.php

PHP Version 7.0.0RC7System     
Linux handylinux 3.16.0-4-686-pae #1
SMP Debian 3.16.7-ckt17-1 (2015-09-26) i686Server API
Configuration File (php.ini) Path /etc/php/7.0/apache2
Loaded Configuration File /etc/php/7.0/apache2/php.ini
Apache Version Apache/2.4.10 (Debian)
mysqlnd 5.0.12-dev - 20150407


Note : l’utilisateur ici s’appelle linux (remplacer linux pour votre nom d’utilisateur)

B- Création d'un dossier dans le home pour les tests de sites Web

1.
Créer un dossier home/linux/sites avec des droits drwx rwx r-x

2. Créer un fichier index.html et un phpinfo.php avec <?php phpinfo(); ?> (pour valider les tests)

3. Modification de la "Directory" de travail

cd /etc/apache2/sites-available
cp 000-default.conf sites.local.conf

Editer
gksudo mousepad /etc/apache2/sites-available/sites.local.conf


Remplacer l'existant par
<VirtualHost *:80>
ServerAdmin sites@localhost
DocumentRoot /home/linux/sites
ServerName sites
# pour avoir les logs dans /sites/
ErrorLog /home/linux/sites/logs/sites.error.log
CustomLog /home/linux/sites/logs/sites.access.log combined
<Directory /home/linux/sites/>
Require all granted
AllowOverride All
# pour mode rewrite
</Directory>
</VirtualHost>

Sauvegarder le fichier sites.local.conf

Activer ce fichier sites.local.conf
sudo a2ensite sites.local.conf

Relancer Apache
sudo service apache2 reload

4. modifier le fichier hosts

 sudo mousepad /etc/hosts
Ajouter
127.0.0.1 sites

Relancer Apache
gksudo service apache2 reload



5. Vérifier les modifications
http://sites/index.html => s'affiche bien
http://sites/phpinfo.php => s'affiche bien


C1 - Utiliser Adminer (PhpMyAdmin utilise php5 et n'est pas compatible directement) Adminer fonctionne avec MySQL, PostgreSQL, SQLite, ...

1. Télécharger Adminer Editor 4.2.3 for MySQL utiliser ici lors du test - voir une version plus récente
(il se compose d’un seul fichier prêt à être déployé )


2. test
http://sites/adminer-4.2.3-mysql.php
affiche
Version de MySQL : 5.5.46-0+deb8u1 via l'extension PHP MySQLi

3. Essai de création Base de Données
Création d'une base cms2
Ha !!! Message
Token CSRF invalide. Veuillez renvoyer le formulaire. Si vous n'avez pas envoyé cette requête depuis Adminer,
Alors
4. Vérifier les droits sur le dossier session.save_path dans /var/lib/php/sessions

gksudo thunar
en root
/var/lib/php/
mettre les droits du dossier sessions à drwx rwx rwx

5. Re-tester la création d'une base cms2

Voila c'est OK


C2 - Utiliser Sidu sidu53.zip
- Il suffit de dézipper l’archive mais pas de français juste de l’anglais et du chinois ;)
C'est plus "décoratif" et plus complet que Adminer et fonctionne aussi avec MySQL, PostgreSQL, SQLite, ... Des copies d'écran


+ Des alternatives à PHPMyAdmin



D - Ajout des paquets php7.0 pour CMSMS


sudo apt-get install php7.0-gd
sudo apt-get install php7.0-curl
sudo apt-get install php7.0-opcache
sudo apt-get install php7.0-json

sudo service apache2 reload

- Contrôle avec http://sites/phpinfo.php
GD Version bundled (2.1.0 compatible)
cURL Information 7.38.0
Zend OPcache Opcode Caching Up and Running
json version 1.4.0
Additional .ini files parsed
/etc/php/7.0/apache2/conf.d/20-curl.ini,
/etc/php/7.0/apache2/conf.d/20-gd.ini,
/etc/php/7.0/apache2/conf.d/20-mysqli.ini,
/etc/php/7.0/apache2/conf.d/20-pdo_mysql.ini


E - Passer en mode 'debug" pour afficher les messages d'erreurs et warning du code

Modifier le PHP.ini
gksudo mousepad /etc/php/7.0/apache2/php.ini
Commenter cette ligne en ajoutant ;; devant
;;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
Ajouter
error_reporting = E_ALL | E_STRICT

Commenter cette ligne en ajoutant ;; devant
;;display_errors = Off
Ajouter
# pour afficher les erreurs
display_errors = On

;date.timezone =
Ajouter
date.timezone= Europe/Paris

[Phar]
; http://php.net/phar.readonly
;phar.readonly = On
Ajouter
phar.readonly = Off

gksudo service apache2 reload

Reste à tester vote CMS


NOTA Voir aussi Installer PHP 7 sous Debian Jessie via le dépôt Dotdeb


Crédit Syntax highlighting for the Web
Document http://jc.etiemble.free.fr/abc/ JCE - version du 01/05/2017-0 CC_licence

Page précédente : LAMP
Page suivante : Adminer