• Problème de droit d'utilisateur sur les fichiers serveurs

    image de l'aticle Problème de droit d'utilisateur sur les fichiers serveurs

    Pour installer Prestashop, j'ai préféré transférer directement le zip via ftp pour le décompresser directement en ssh avec putty. En faisant comme ceci j'ai gagné beaucoup de temps car la décompression en ssh prend à peine 5 sec., alors que si je décompresse le zip Prestashop via mon Windows et que j'envoie le tout sur mon serveur ftp j'en ai pour 45 min!

    Cependant un problème demeure si vous avez le "safe_mode = On" dans votre php.ini. En effet le safe_mode qui ne sera plus utilisé dans les version 5.4 de php vous pose problème car l'utilisateur root en ssh n'est pas le même que l'utilisateur que vous allez utiliser via une tâche cron par exemple lors de l'appel à un script php. Une erreur de ce type pourra être généré :

    "PHP Warning:  require(): SAFE MODE Restriction in effect"

    Si le safe_mode est sur on, php va vérifier les utilisateurs des fichiers et répertoires (UID/GID) par mesure de sécurité. Si les utilisateurs ne sont pas les mêmes et que lors de l'appel au script en tâche cron, le script demandé fait appel à la fonction require('../../conf/config.ini.php') par exemple et que le fichier appelé dans la fonction require() a des droits différents que l'utilisateurs en cours vous allez avoir l'erreur ci-dessus et le programme s'arrêtra instantanément.

    Désactivant sur mon serveur dédié au travers de plesk la fonction safe_mode pour la mettre sur Off j'ai pu voir à ma grande surprise que cette erreur perdurait, j'ai donc décidé d'écrire cet article pour vous dire comment modifier directement votre php.ini en ssh avec putty.

    Connectez vous en ssh via putty; une fois cela fait vous trouverez votre fichier php.ini avec cette commande :

    cd /etc/
    ou
    cd /etc/php5/apache2/
    ensuite
    tapez ls

    Le commande ls va lister tous les fichiers du répertoire, vous verrez donc ou il se trouve. Ensuite éditez le fichier php.ini en faisant cela :

    vi php.ini

    tapez sur "Inser" pour pouvoir modifier le fichier puis faites :

    /safe_mode

    Cela vous permettra de trouver plus facilement la ligne à modifier. Ensuite modifiez "safe_mode = On" en "safe_mode = Off". Tapez "Echap", puis :

    :wq

    Pour enregistrer les modifications. Redémarrez apache

    /etc/init.d/httpd restart

    Voilà, maintenant vous ne devriez plus avoir cette erreur!

Laissez un commentaire

* Votre e-mail ne sera jamais utilisé ou donné à un tiers

Recherche

Catégories

Newsletters

Archives