ID: 19852 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Feedback Bug Type: Apache related Operating System: Solaris 7 PHP Version: 4.2.3 New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php4-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-latest.zip This is most likely fixed. Previous Comments: ------------------------------------------------------------------------ [2002-10-14 14:06:59] [EMAIL PROTECTED] Sorry by the delay. I come back to php4.0.4pl1 in the production box. I going to install 4.2.3 on a devel box I got today. This is maybe the most executed script, is my index.php, it show you a template depending of the special variable "modo" and the client's IP. Script: <?php session_start() ; if ( ! session_is_registered('__session_ip') ) { $__session_ip = $HTTP_SERVER_VARS['REMOTE_ADDR'] ; session_register('__session_ip') ; } else { if ( $__session_ip != $HTTP_SERVER_VARS['REMOTE_ADDR'] ) { session_unset() ; session_destroy() ; session_start() ; $__session_ip = $HTTP_SERVER_VARS['REMOTE_ADDR'] ; session_register('__session_ip') ; unset($HTTP_POST_VARS['modo']) ; } } $sig_titulo = "::: Servicio al Cliente :::" ; $modo = 0 ; $sesion_act = false ; $conf_ipsautorizadas = "10.39.192.240,10.36.0.50" ; if ( ! isset( $HTTP_POST_VARS['modo'] ) ) { $IP = $HTTP_SERVER_VARS['REMOTE_ADDR'] ; $octs = explode(".", $IP) ; $ipa = explode(".", $IP) ; $ipl = ($ipa[1] << 16) + ($ipa[2] << 8) + $ipa[3] ; $base = 2125824 ; $mask = 15757312 ; $bpcconfig = 0 ; $mpcconfig = 3072 ; $bpcpre = 1024 ; $mpcpre = 3072 ; $bpccortada = 3072 ; $mpccortada = 3072 ; $bpcnueva = 2048 ; $mpcnueva = 3072 ; if ( ($ipl & $mask) == $base ) { if ( ($ipl & $mpcpre ) == $bpcpre ) { $modo = 24 ; /* PCPre */ $sig_titulo = "::: Aviso Importante:::" ; } elseif ( ($ipl & $mpcnueva) == $bpcnueva ) { $modo = 12 ; /* PCNueva */ $sig_titulo = "::: Acceso Restringido :::" ; } elseif ( ($ipl & $mpcconfig) == $bpcconfig ) { $modo = 10 ; /* PCConfig */ $sig_titulo = "::: M\363dulo de Activaci\363n :::" ; } elseif ( ($ipl & $mpccortada) == $bpccortada ) { $modo = 11 ; /* PCCortada */ $sig_titulo = "::: Acceso Restringido :::" ; } } else { /* Paginas que no son de gps directo al home page */ if ( ! strstr(",$conf_ipsautorizadas,", "," . $IP . "," ) ) { /* Si no es acceso remoto */ $modo = 13 ; $sig_titulo = "::: Acceso no permitido :::" ; } else { $modo = 10 ; $sig_titulo = "::: M\363dulo de Activaci\363n :::" ; } } } else { $modo = $HTTP_POST_VARS['modo'] ; } /* Pagina, Sesion o No Sesion, Nivel minimo, Pagina en caso de no tener acceso, Precedencia */ $paginas[8] = array("informes.php", 0, 0, 0, "") ; $paginas[9] = array("suscripciones.php", 0, 0, 0, "") ; $paginas[10] = array("activacion.php", 0, 0, 0, "") ; $paginas[11] = array("cortada.php", 0, 0, 11, "") ; $paginas[12] = array("nueva.php", 0, 0, 12, "") ; $paginas[13] = array("invalido.php", 0, 0, 13, "") ; $paginas[14] = array("actvalida.php", 1, 1, 10, ",10,") ; $paginas[15] = array("cambio-activa.php", 1, 1, 10, ",14,") ; $paginas[16] = array("termina-act.php", 1, 8, 10, ",14,") ; $paginas[20] = array("guardian.php", 1, 10, 30, "") ; if ( ! isset( $paginas[$modo]) ) { if ( session_is_registered('__session_nivel') && $__session_nivel >= 10 ) $sesion_act = true ; include ("indice.php") ; exit() ; } $tiempoexpira = session_is_registered('__session_tiempo') ? $__session_tiempo + 300 : time()+300 ; $tiempoactual = time(); if (session_is_registered('__session_tiempo') && ($__session_nivel >= 10) && ($tiempoexpira < $tiempoactual)) { //session_unset(); //session_destroy(); //$modo = 70; $__session_nivel = 8; session_register('__session_nivel'); $modo = 40; } list( $archivo, $sesion, $nivel, $modo_redir, $precedencia) = $paginas[$modo] ; /********************** Parte de la inclusion ******************************/ if ( $sesion && !session_is_registered('__session_nivel') ) { include ($paginas[$modo_redir][0]) ; } elseif ( $__session_nivel < $nivel ) { include ($paginas[$modo_redir][0]) ; } elseif ( $precedencia != "" && ! strstr($precedencia . "$modo,", "," . $__session_modo . ",") ) { include ($paginas[$modo_redir][0]) ; } else { include ($archivo) ; } /****************************************************************************/ include "pie.php" ; $__session_modo = $modo ; $__session_tiempo = time() ; session_register('__session_modo') ; session_register('__session_tiempo') ; ?> ------------------------------------------------------------------------ [2002-10-11 15:44:20] [EMAIL PROTECTED] Can you please try coming up with some short script which causes this? ------------------------------------------------------------------------ [2002-10-11 13:14:44] [EMAIL PROTECTED] It works worst. Now I have 25 processes over 1.00% :( ------------------------------------------------------------------------ [2002-10-10 18:19:39] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-latest.zip ------------------------------------------------------------------------ [2002-10-10 12:09:57] [EMAIL PROTECTED] Description: Since I upgraded from php-4.0.6 and apache-1.3.26 to php-4.2.3/apache-1.3.27, the httpd processes increase the load. Normally with the same scripts a process consumed from 0.00% to 1.00% avg, but now I have 12 processes over 1.00% (13.00% topest) while I have just 4 connections avg per minute. My cpu normally is 90% idle, now because httpd is 30% idle. I have a box with 2 cpus, this line going to show you the info: CPU states: 29.3% idle, 43.9% user, 26.6% kernel, 0.2% iowait, 0.0% swap Any ideas. PHP conf: ./configure --with-apache=../apache_1.3.27 --enable-versioning \ --without-mysql --with-sybase=/usr/local/freetds --without-gd \ --enable-track-vars --with-system-regex --enable-trans-id \ --with-snmp --enable-ucd-snmp-hack Apache conf: APACHE 1.3.27 set PREFIX=/usr/local set PERL5=/usr/local/bin/perl setenv LIBS_SHLIB -lbind setenv CFLAGS -I/usr/local/include setenv LDFLAGS -L/usr/local/lib setenv LIBS -lbind setenv LD_LIBRARY_PATH /usr/local/lib ./configure --prefix=${PREFIX} \ --with-layout=GNU \ --sysconfdir=${PREFIX}/etc/apache \ --includedir=${PREFIX}/include/apache \ --localstatedir=/var \ --datadir=${PREFIX}/www \ --suexec-docroot=${PREFIX}/www/data \ --proxycachedir=${PREFIX}/www/proxy \ --libexecdir=${PREFIX}/libexec/apache \ --without-confadjust \ --enable-shared=remain \ --enable-module=most \ --activate-module=src/modules/php4/libphp4.a \ --with-perl=${PERL5} OS: solaris% uname -a SunOS solaris 5.7 Generic_106541-07 sun4u sparc SUNW,Ultra-250 Unfortunaly I don't have installed gdb in the box. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=19852&edit=1