Article ID: 7056, created on Feb 12, 2010, last review on May 11, 2014

  • Applies 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"

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

Email subscription for changes to this article
Save as PDF