Compiler vos scripts PHP

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search
PHP

Software version 5.3
Operating System Debian 6
Website PHP Website
Last Update 08/05/2013
Others

1 Introduction

Nous somme un jour ou l’autre confronter au problèmes liés à la confiscation du fruit de notre matière grise, voici un moyen de protéger ces précieuse ligne de code php et pour gagner sur le temps d’exécution de ces script php

2 Installation

Compiler est fournie uniquement en environnement de développement ce qu’implique quelque installation avant utilisation :

Command aptitude
aptitude update
aptitude upgrade
aptitude install make
aptitude install php5-dev
pecl install bcompiler

Puis nous allons modifier le fichier php.ini. Il s’agit d’ajouter extension=bcompiler.so à la fin de votre fichier php.ini :

Command
cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.old
echo "extension=bcompiler.so" >> /etc/php5/apache2/php.ini

3 Configuration

Command php
> php --php-ini /etc/php5/apache2/php.ini -r "bcompiler_write_header();"
OK : PHP Warning: bcompiler_write_header() expects at least 1 parameter, 0 given in Command line code on line 1
KO : PHP Fatal error: Call to undefined function bcompiler_write_header() in Command line code on line 1

Vous avez un KO, il faut refaire la procédure et s’assurer que le pear-php est bien installé.

4 Compilation du code PHP

Créer un fichier source :

Configuration File code.php
<?php
echo "ça code et ça decode";
?>

et puis créer un fichier qu’on appeler compiler.php :

Configuration File compiler.php
<?php
// le chemin du fichier byte code qui sera créer par la suite
$bytecode = "bytecode.php";
 
// Le fichier source
$codesource = "code.php";
 
// creation du fichier compilé
$fichierbytecode = fopen($bytecode, "w");
 
// écriture du header du fichier;
bcompiler_write_header($fichierbytecode);
 
// écriture du corps du fichier :
bcompiler_write_file($fichierbytecode, $codesource);
 
// écriture du footer pied du fichier :
bcompiler_write_footer($fichierbytecode);
 
?>

en cli lancer l’interpreteur php :

Command php
php --php-ini /etc/php5/apache2/php.ini compiler.php

Remplacer les liens sur votre page html index.php "code.php" par le fichier bytecode.php. Le résultat ne change pas mais la recette est inconnue :-)

5 References