Comment afficher les fonctions désactivées en PHP ?

Par : TutorialsGrey, le 01 Juillet 2022
PHP

Problème

Vous aimeriez connaître les fonctions PHP désactivées de la version de PHP actuellement installée sur votre système.

 

Solution

PHP permet de désactiver des fonctions spécifiques pour éviter les mauvaises utilisations et pour des raisons de sécurité. Il est utilisé pour renforcer un déploiement PHP, notamment dans un environnement d'hébergement partagé.

 

Voir Comment désactiver des fonctions en PHP ?

 

exec() est une des fonctions qui sont habituellement désactivées. PHP affiche un avertissement lorsqu'une fonction désactivée est appelée.

[Fri Jul 01 23:31:51.806024 2022] [php7:warn] [pid 18054] [client 192.168.111.1:54421] PHP Warning:  date() has been disabled for security reasons in /var/www/html/index.php on line 3

Vous pouvez lister les fonctions PHP désactivées en utilisant ini_get() dans votre script PHP ou en recherchant disable_functions dans votre fichier de configuration PHP.

 

Méthodes pour lister les fonctions PHP désactivées :

1. Afficher les fonctions désactivées en utilisant ini_get.

<?php
        echo ini_get('disable_functions');
        #Exemple de résultat : date,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
?>

2. Liste des fonctions PHP désactivées dans le fichier de configuration.

$ grep disable_functions /etc/php/7.4/apache2/php.ini
disable_functions = date,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,