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

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

Síntomas

  1. Un PHP secundario no funciona al pasar el modo PHP a 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. En los registros de Apache puede verse un error de memoria:

    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. En el registro de Suexec puede verse un error:

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

Causa

1) PHP no se ha compilado con FastCGI.

2) En el servidor no se dispone de suficiente cantidad de memoria.

3) El php.ini del dominio ha sido personalizado, contiene erratas o presenta una configuración que no es válida.

4) Los permisos sobre el archivo /etc/passwd no son correctos.

Resolución

1) Compruebe que PHP se ha compilado con FastCGI. Con el fin de comprobar si el módulo FastCGI ha sido activado, puede ejecutar el comando que se muestra a continuación.

    [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

Compruebe la versión 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

Como puede ver aquí, se trata de la versión 5.2.17 (cgi), lo que significa que PHP solo opera en modo CGI. Si PHP opera en ambos modos CGI y FastCGI, verá lo siguiente:

    # 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 no se ha compilado con el modo FastCGI, vuelva a compilar el PHP personalizado con la opción "--enable-fastcgi".

2) Compruebe que el servidor dispone de suficiente memoria ejecutando el siguiente comando:

    free -m

En el caso de que el servidor sea un contenedor virtual, puede comprobar los límites de recursos mediante el siguiente comando:

    cat /proc/user_beancounters

3) El php.ini del dominio puede que se haya personalizado de forma manual o que contenga algún error. Por ejemplo, que los megabytes en php.ini se hayan establecido a 128MB en vez de a 128M.

Cree un backup del php.ini original del dominio y vuelva a configurar un dominio:

 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

En el caso de Parallels Plesk 11.5, ejecute el siguiente comando:

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

4) Compruebe los permisos para el archivo /etc/passwd. Estos deberían tener una apariencia similar a la siguiente:

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

Si los permisos son distintos, corríjalos tal y como se ha descrito anteriormente.

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

Email subscription for changes to this article
Save as PDF