Article ID: 120785, created on Jan 9, 2015, last review on Jan 9, 2015

  • Applies to:
  • Plesk 12.5 for Linux
  • Plesk 12.0 for Linux
  • Plesk 11.0 for Linux
  • Plesk 11.5 for Linux

Symptômes

  1. Un PHP secondaire ne fonctionne pas lors du passage du mode PHP en FastCGI :

    # tailf /var/www/vhosts/domain.tld/logs/error_log
    
    (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
    Premature end of script headers: index.php
    
  2. Le log Apache signale une erreur mémoire :

    less /etc/httpd/logs/error_log
    
    Apache/2.2.15 (Unix) DAV/2 mod_fcgid/2.3.7 mod_python/3.3.1 Python/2.6.6 mod_ssl/2.2.15 OpenSSL/1.0.0-fips SVN/1.6.11 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations 
    [Errno 12] Cannot allocate memory 
    
  3. Le log Suexec signale une erreur :

    # tailf /var/log/httpd/suexec_log
    
    uid: (10033/ftpuser) gid: (504/504) cmd: cgi_wrapper
    unknown error in docroot check (10033)
    

Cause

1) PHP n'est pas compilé avec FastCGI.

2) Il n'y a pas suffisamment de mémoire sur le serveur.

3) Le "php.ini" du domaine est personnalisé, contient des erreurs de frappe ou une configuration non valide.

4) Les droits sur le fichier /etc/passwd ne sont pas corrects.

Résolution

1) Assurez-vous que PHP est compilé avec FastCGI. Vous pouvez utiliser la commande ci-dessous pour vérifier si le module FastCGI est activé ou non.

    [root@vps-1018770-1735 ~]# /usr/local/psa/admin/bin/php_handlers_control --list
    id:  display name:  version:    type:                                     cgi-bin:                php.ini:
    fastcgi-5.2.17         5.2.17    5.2.17      cgi  /usr/local/pachosting/php5.2.17/bin/php-cgi  /usr/local/lib/php.ini

Vérifiez la version de PHP :

    # /usr/local/php5.2.17-cgi/bin/php-cgi -v
    PHP 5.2.17 (cgi) (built: Mar 27 2014 20:28:44)
    Copyright (c) 1997-2010 The PHP Group
    Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

Comme indiqué, il s'agit de la version 5.2.17 (cgi). Cela signifie que PHP fonctionne en mode CGI uniquement. Si PHP fonctionne dans les modes CGI et FastCGI, le résultat est similaire à :

    # php-cgi -v
    PHP 5.3.3 (cgi-fcgi) (built: Jul 12 2013 20:34:01)
    Copyright (c) 1997-2010 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
        with the ionCube PHP Loader v4.2.2, Copyright (c) 2002-2012, by ionCube Ltd.

Si PHP n'est pas compilé en mode FastCGI, compilez à nouveau le PHP personnalisé avec l'option "--enable-fastcgi".

2) Vérifiez s'il y a suffisamment de mémoire sur le serveur à l'aide de la commande :

    free -m

Si le serveur est un conteneur virtuel, vous pouvez vérifier les limites des ressources avec la commande :

    cat /proc/user_beancounters

3) Le "php.ini" du domaine est personnalisé manuellement ou contient une erreur. Par exemple, les mégaoctets dans "php.ini" sont définis sur 128MB au lieu de 128M.

Sauvegardez le domaine d'origine php.ini et reconfigurez un domaine :

 mv  /var/www/vhosts/domain.tld/etc/php.ini /var/www/vhosts/domain.tld/etc/php.ini_orig

 /usr/local/psa/admin/bin/httpdmng --reconfigure-vhost --vhost-name=domain.tld

Pour Parallels Plesk 11.5, utilisez la commande suivante :

 /usr/local/psa/admin/bin/httpdmng --reconfigure-domain domain.tld

4) Vérifiez les droits du fichier /etc/passwd. Ils doivent être comme suit :

    # ls -la /etc/passwd
    -rw-r--r-- 1 root root 7643 Mar  3 12:54 /etc/passwd

S'ils sont différents, corrigez-les conformément à la liste ci-dessus.

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 01bc4c8cf5b7f01f815a7ada004154a2 29d1e90fd304f01e6420fbe60f66f838 0a53c5a9ca65a74d37ef5c5eaeb55d7f aea4cd7bfd353ad7a1341a257ad4724a 2a5151f57629129e26ff206d171fbb5f e335d9adf7edffca6a8af8039031a4c7 742559b1631652fadd74764ae8be475e

Email subscription for changes to this article
Save as PDF