PHP5-FPM recarregar do navegador da web: erro interno do servidor 500

1

Estou criando um serviço gratuito de hospedagem compartilhada para diversão e aprendizado. Eu fiz um formulário simples, onde o usuário insere o subdomínio e a senha do ftp. Quando o usuário acessa o envio, um script gera um usuário linux, criptografa a senha digitada com crypt () e envia os dados para um script linux. Aqui está a parte errada do roteiro completo:

echo "[$1]
user = $1
group = $1
listen = /var/run/sock_$1.sock
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
php_value[disable_functions] = \"phpinfo, system, exec, shell_exec, passthru , ini_alter, dl, pfsockopen, openlog, syslog, readlink, symlink, link, leak, fsockopen, popen, escapeshellcmd, apache_child_terminate apache_get_modules, apache_get_version, apache_getenv, apache_note,apache_setenv,virtual\"
php_value[open_basedir] = \"/home/$1:/home/$1/tmp\"" | sudo /usr/bin/tee /etc/php5/fpm/pool.d/$1.conf;

sudo /usr/sbin/service php5-fpm reload;

Como você pode ver, ele cria um pool PHP-FPM e recarrega o serviço. Quando eu manualmente criar o pool e também recarregar manualmente o FPM, ele funciona bem, o novo site carrega sem nenhum problema. O problema que eu notei se eu comentar a linha de recarga cria o conjunto para que não haja problemas com a gravação de arquivos, mas com o recarregamento.

Então, quando eu envio a postagem com todos os dados, ela tem erro interno de servidor 500.

Log do Apache:

[Thu Aug 08 01:43:44 2013] [error] [client xxx.xxx.xxx.xxx] (104)Connection reset by peer: FastCGI: comm with server "/vhost_asd_tld" aborted: read failed, referer: http://asd.tld/
[Thu Aug 08 01:43:44 2013] [error] [client xxx.xxx.xxx.xxx] FastCGI: incomplete headers (0 bytes) received from server "/vhost_asd_tld", referer: http://asd.tld/

O conjunto asd.tld:

[asd_tld]
user = asd_tld
group = asd_tld
listen = /var/run/sock_asd_tld.sock
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

O asd.tld vhost:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName asd.tld
DocumentRoot /var/www
<Directory /var/www>  
  AllowOverride All
  Order Allow,Deny
  Allow from all
</Directory>
ErrorLog "/var/www/log/asd.tld-error.log"
CustomLog "/var/www/log/asd.tld-access.log" combined
CustomLog "/var/www/log/asd.tld-bandwidth.log" common
<IfModule mod_fastcgi.c>
  <FilesMatch \.php$>
    SetHandler php-script
  </FilesMatch>
  Action php-script /php5-fpm-handler
  Alias /php5-fpm-handler /vhost_asd_tld
  FastCGIExternalServer /vhost_asd_tld -socket /var/run/sock_asd_tld.sock
</IfModule>
</VirtualHost>

SO: Ubuntu Desktop 13.04

Alguma ideia? Obrigado antecipadamente!

    
por user2302838 09.08.2013 / 20:37

1 resposta

1

Recarregar o php-fpm interrompe conexões ativas, como a sua, nesta circunstância. Quando possível, você deve evitar fazê-lo ou, se não puder, fazê-lo de forma assíncrona, depois de concluir o envio dos dados para o navegador.

    
por 09.08.2013 / 20:41