El PHP en un dominio que se ejecuta mediante CGI/FastCGI no puede utilizar la sesión predeterminada

Created:

2016-11-16 13:17:07 UTC

Modified:

2017-08-22 15:18:10 UTC

2

Was this article helpful?


Have more questions?

Enviar una solicitud

El PHP en un dominio que se ejecuta mediante CGI/FastCGI no puede utilizar la sesión predeterminada

Applicable to:

  • Plesk 12.5 for Linux
  • Plesk 12.0 for Linux
  • Plesk 11.5 for Linux
  • Plesk 10.4 for Linux/Unix


Esta incidencia ha sido totalmente corregida en Parallels Plesk Panel 10.4 y Parallels Plesk Panel 11.

Síntomas

En los modos CGI o FastCGI, PHP opera con los permisos del usuario FTP del dominio.

El modo de soporte PHP puede configurarse de forma individualizada para cada dominio en la página "Configuración de Hosting Web" disponible a través de Dominios -> domain.tld -> Configuración de hosting web :


Asimismo, también pueden aparecer las siguientes advertencias de PHP:

Warning : session_start() [ function.session-start ]: open(/var/lib/php/session/sess_vr12g68afa365jenb96han4k24, O_RDWR) failed: Permission denied (13) in /var/www/vhosts/<domain>/httpdocs/<script>.php on line <N>
Advertencia: Unknown: open(/var/lib/php/session/sess_vr12g68afa365jenb96han4k24, O_RDWR) failed: Permission denied (13) in Unknown on line 0
Warning : Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0

Causa

En versiones de Parallels Plesk Panel anteriores a la versión 10.4, la configuración de PHP se establece en el archivo /etc/php.ini y, por omisión, su ruta de sesión es la siguiente:

~# grep session.save_path  /etc/php.ini
session.save_path = "/var/lib/php/session"


El valor predeterminado para los permisos para este directorio es 770:

~# ls -ld /var/lib/php/session
drwxrwx--- 2 root apache 65536 Dec 16 07:48 /var/lib/php/session
~#


Como los scripts PHP se procesan en modo CGI/FastCGI bajo la cuenta <ftpuser>:psacln , el proceso no puede leer/escribir en este directorio y, como consecuencia, usará el archivo de sesión.

Resolución

1. Actualice Parallels Plesk Panel a la versión 10.4.

2. Establezca una configuración PHP personalizada (EN) para el dominio.

3. Cree un directorio bajo el directorio private del dominio:

~# mkdir /var/www/vhosts/domain.tld/private/php_sess
~# chown <ftpuser>:psacln /var/www/vhosts/domain.tld/private/php_sess
~# chmod 0700 /var/www/vhosts/domain.tld/private/php_sess


4. Edite el archivo de la configuración personalizada de PHP php.ini e invalide la directiva session.save_path tal y como puede ver a continuación:

~# grep session.save_path  /var/www/vhosts/domain.tld/etc/php.ini
session.save_path = "/var/www/vhosts/domain.tld/private/php_sess"
¿Tiene más preguntas? Enviar una solicitud
Inicie sesión para dejar un comentario.