comment activer shell_exec et exec sur php?

(Il y a une mention de ceci en ligne, mais aucune des solutions n’a fonctionné.) Je veux pouvoir utiliser shell_exec et exec à partir d’un script PHP.

Signification, utilisez:

 

ou

  

Selon un lien que j’ai trouvé en ligne ( http://forums.cpanel.net/f5/enable-shell_exec-one-user-109601.html ), une façon de faire est d’append sous VirtualHost les directives:

php_admin_value suhosin.executor.func.blacklist = “shell_exec”

mais quand j’ai regardé le fichier de configuration, essayant de redémarrer le serveur Web, j’obtiens:

 28/07/14 17:18:26: Syntax error on line 1 of /etc/httpd/conf.d/serv1.conf: 28/07/14 17:18:26: php_admin_value takes two arguments, PHP Value Modifier (Admin) 

et le serveur n’est pas redémarré.

Des idées pour activer exec et shell_exec? Je ne peux pas retracer l’origine de cette erreur.

EDIT: Je ne suis pas la racine de la machine. Je n’ai pas pu trouver de fichier php.ini, mais il y a un fichier /etc/httpd/conf.d/php.conf et il n’a pas de disable_functions.

C’est ici:

 # # PHP is an HTML-embedded scripting language which attempts to make it # easy for developers to write dynamically generated webpages. #  LoadModule php5_module modules/libphp5.so   LoadModule php5_module modules/libphp5-zts.so  # # Cause the PHP interpreter to handle files with a .php extension. # AddHandler php5-script .php AddType text/html .php # # Add index.php to the list of files that will be served as directory # indexes. # DirectoryIndex index.php # # Uncomment the following line to allow PHP to pretty-print .phps # files as PHP source code: # #AddType application/x-httpd-php-source .phps 

Si vous n’êtes pas la racine de la machine et que la fonction exec() est désactivée, vous ne pouvez pas l’activer vous-même.

Voir http://php.net/manual/en/ini.core.php#ini.disable-functions

disable_functions ssortingng

Cette directive vous permet de désactiver certaines fonctions pour des raisons de sécurité. Il prend une liste de noms de fonctions séparés par des virgules. disable_functions n’est pas affecté par le mode sans échec.

Seules les fonctions internes peuvent être désactivées en utilisant cette directive. Les fonctions définies par l’utilisateur ne sont pas affectées.

Cette directive doit être définie dans php.ini. Par exemple, vous ne pouvez pas définir cela dans httpd.conf.

Vous devez désactiver le mode sans échec en PHP en naviguant dans \Apache2\bin (pas le dossier) et redémarrer le serveur.

Vérifiez ici et ici .

retirer de la fonction de

 disable_functions="" 

dans votre fichier php.ini

ou si vous avez Suhosin alors vérifiez votre configuration dans le fichier de configuration suhosin.executor.func.blacklist sous suhosin.executor.func.blacklist

Comme php_admin_value prend deux arguments et n’a pas besoin de = signer, utilisez

 php_admin_value suhosin.executor.func.blacklist "shell_exec" 

OU pour bloquer l’utilisation de plusieurs fonctions php

 php_admin_value suhosin.executor.func.blacklist "shell_exec, opendir, file_get_contents, phpinfo"