从Web浏览器重新加载PHP5-FPM:内部服务器错误500

我正在创build一个免费的共享主机服务,以获得乐趣和学习。 我做了一个简单的表单,用户input子域名和ftp密码。 当用户点击提交时,脚本生成一个linux用户,用crypt()encryptioninput的密码,然后将数据发送到一个linux脚本。 以下是完整脚本的错误部分:

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; 

正如你所看到的,它创build一个PHP-FPM池,然后重新加载服务。 当我手动创build池,也手动重新加载FPM,它工作正常,新网站加载没有问题。 我注意到,如果我注释掉重载行,它创build池的问题,所以没有文件写入的问题,但重新加载。

所以当我提交所有的数据的post,它有内部服务器错误500。

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/ 

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 

asd.tld虚拟主机:

 <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> 

操作系统:Ubuntu桌面13.04

有任何想法吗? 提前致谢!

重新加载php-fpm中断活动连接,比如你在这种情况下。 如果可能的话,你应该避免这样做,或者如果你不能,那么在你完成向浏览器发送数据之后,要做到这一点。