Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Include PHP simply inside Grav CMS

In English


By Grav Package Manager (GPM)

Easy way to install with GPM.

$ bin/gpm install cadphp


Upload the plugin :

Copy the Pack in the folder Site-Grav/user/plugins/

And rename the plugin folder grav-plugin-cadphp-master to cadphp


To run a PHP file, you have to place the Keyword cadphp: at the beginning of the line in the content of a Grav page.

Next, indicate the path parameterized pX where X is between 1 and 99
More information in the Setup part

To finish, you have to set the relative path to the predefined path pX without the extension .php

By default, p1 is set to point to the folder /user/plugins/cadphp/php/

cadphp:p1:test // Run /user/plugins/cadphp/php/test.php

PHP Limitation

The file must start with <?php and it must be unique.
The ?> closure is not mandatory but it must be unique and at the end of the file.

The file must return a string as in this example: /cadphp/php/test.php

return "Hello the World";


In the administration interface, several options are possible.

Configuration of PHP file localizations

From the web interface, it is possible to define 5 configurable paths.
The first by default is the folder /user/plugins/cadphp/php/ and the second is the folder /user/plugins/page/

If the path begins with a / then it represents Document Root otherwise it is the path of the plugin cadPHP /user/plugins/cadphp/

A total of 99 configurable paths can be created.

Advanced Settings

To secure the executed code, some PHP functions are prohibited by default.
The prohibited are functions :

  • allow_url_fopen
  • allow_url_include
  • exec
  • shell_exec
  • system
  • passthru
  • popen
  • stream_select
  • ini_set

At your own risk to change this parts ;) .


In case of error in the PHP code, it will not be executed and the error is logged in /logs/grav.log

In Development

  • Add a predefined path via the web interface
  • Put more information in the error message

En francais


Via Grav Package Manager (GPM)

Commande pour installer CadPHP avec GPM.

$ bin/gpm install cadphp


Télécharger le plugin :

Copier le Pack dans le dossier Site-Grav/user/plugins/

Et renommer le plugin grav-plugin-cadphp-master en cadphp


Pour exécuter un fichier PHP, il faut placer le mot-clé cadphp: en début de ligne dans le contenu d'une page Grav.

Ensuite, il faut indiquer le chemin pré-paramétré pXX est compris entre 1 et 99. Plus d'informations dans la partie paramétrage.

Pour terminer, il faut mettre le chemin relatif par rapport au chemin prédéfini pX sans l'extension .php

Par défaut, p1 est défini pour pointer vers le dossier /user/plugins/cadphp/php/

cadphp:p1:test // Execute /user/plugins/cadphp/php/test.php

Limitation du PHP

Le fichier doit commencer par <?php et il doit être unique.
La fermeture ?> n'est pas obligatoire mais il doit être unique et en fin du fichier.

Le fichier doit retourne une chaine de caractères comme dans cette exemple :

return "Hello the World";


Dans l'interface d'administration, plusieurs options sont possibles.

Configuration des localisations des fichiers PHP

Depuis l'interface web, il est possible de définir 5 chemins paramétrables. Le 1er par défaut est le dossier /user/plugins/cadphp/php/ et le 2ème est le dossier est /user/plugins/page/

Si le chemin commence par un / alors cela repésente Document Root sinon c'est le chemin du plugin cadPHP /user/plugins/cadphp/

Il est possible de créer 99 chemins paramétrables en tout.

Configuration avancée

Pour sécuriser le code executé, certaines fonctions PHP sont interdites.
Par défaut, les fonctions interdites :

  • allow_url_fopen
  • allow_url_include
  • exec
  • shell_exec
  • system
  • passthru
  • popen
  • stream_select
  • ini_set

A vos risques et périls si vous en envelez certaines ;) .


En cas d'erreur dans le code PHP, il ne sera pas executé et l'erreur est loggé dans /logs/grav.log

En cours de développement

  • Ajouter un chemin prédéfinit via l'interface web
  • Mettre plus d'informations dans le Erreur


Include PHP simply inside Grav CMS




No packages published


You can’t perform that action at this time.