From: Operating system: Unix/Linux PHP version: 5.3.3 Package: Unknown/Other Function Bug Type: Bug Bug description:Crash defining array() $patterns[95]
Description: ------------ I have a problem with init array var: $patterns = array(); $patterns[0] = 'any'; .... $patterns[94] = 'any other'; when i have defined from 0 to 94 $patterns and $replacements components all work ok. But when add the 95 $patterns the php program crash (blank page is returned by the server) You know this problem? I have running the php like CGI scripts with Apache, I don't know exactly wath is the php version Test script: --------------- <?php function traduce($string) { $resultado_string = ''; $patterns = array(); $patterns[ 0] = '/Date:/'; $patterns[ 1] = '/Time:/'; $patterns[ 2] = '/Ticker:/'; $patterns[ 3] = '/Last:/'; $patterns[ 4] = '/Pivot:/'; $patterns[ 5] = '/Title:/'; $patterns[ 6] = '/Summary:/'; $patterns[ 7] = '/Update on supports and resistances./'; $patterns[ 8] = '/Story:/'; $patterns[ 9] = '/intraday/'; $patterns[10] = '/continuation of the rebound/'; $patterns[11] = '/Our preference:/'; $patterns[12] = '/Alternative scenario:/'; $patterns[13] = '/Long positions/'; $patterns[14] = '/above/'; $patterns[15] = '/Below/'; $patterns[16] = '/below/'; $patterns[17] = '/Above/'; $patterns[18] = '/with/'; $patterns[19] = '/targets/'; $patterns[20] = '/ as /'; $patterns[21] = '/in extension/'; $patterns[22] = '/look for further downside/'; $patterns[23] = '/@/'; $patterns[24] = '/ & /'; $patterns[25] = '/Key levels Comment/'; $patterns[26] = '/Comment: /'; $patterns[27] = '/the pair has rebounded/'; $patterns[28] = '/on its support/'; $patterns[29] = '/ and /'; $patterns[30] = '/is challenging/'; $patterns[31] = '/ its /'; $patterns[32] = '/new resistance/'; $patterns[33] = '/ last/'; $patterns[34] = '/under pressure/'; $patterns[35] = '/Short positions/'; $patterns[36] = '/the RSI/'; $patterns[37] = '/is /'; $patterns[38] = '/badly directed/'; $patterns[39] = '/look for further upside/'; $patterns[40] = '/the upside prevails/'; $patterns[41] = '/the downside prevails/'; $patterns[42] = '/remains /'; $patterns[43] = '/the pair has broken/'; $patterns[44] = '/new support/'; $patterns[45] = '/resistance/'; $patterns[46] = '/soporteed by/'; $patterns[47] = '/a bullish trend line/'; $patterns[48] = '/a bearish trend line/'; $patterns[49] = '/the bias /'; $patterns[50] = '/mixed /'; $patterns[51] = '/ bullish.</'; $patterns[52] = '/ bearish.</'; $patterns[53] = '/a bullish bias./'; $patterns[54] = '/a bearish bias./'; $patterns[55] = '/should face a further weakness/'; $patterns[56] = '/on the upside./'; $patterns[57] = '/on the downside./'; $patterns[58] = '/Our Preference:/'; $patterns[59] = '/SHORT positions/'; $patterns[60] = '/The upside penetration of/'; $patterns[61] = '/will call for a rebound towards/'; $patterns[62] = '/Key levels/'; $patterns[63] = '/pivot point/'; $patterns[64] = '/ Intraday /'; $patterns[65] = '/ Last</'; $patterns[66] = '/ the pair /'; $patterns[67] = '/ posting a rebound /'; $patterns[68] = '/ but /'; $patterns[69] = '/ conin a/'; $patterns[70] = '/ bearish channel/'; $patterns[71] = '/rebound.</'; $patterns[72] = '/Trend: /'; $patterns[73] = '/ST Ltd Upside;/'; $patterns[74] = '/MT Range/'; $patterns[75] = '/rebounding/'; $patterns[76] = '/stands/'; $patterns[77] = '/ bullish channel/'; $patterns[78] = '/former support/'; $patterns[79] = '/support/'; $patterns[80] = '/lacks/'; $patterns[81] = '/upward momentum/'; $patterns[82] = '/downward momentum/'; $patterns[83] = '/The upside breakout of/'; $patterns[84] = '/The downside breakout of/'; $patterns[85] = '/will open the way to/'; $patterns[86] = '/Fib projection/'; $patterns[87] = '/next/'; $patterns[88] = '/should rebound on/'; $patterns[89] = '/approaching/'; $patterns[90] = '/calls for caution/'; $patterns[91] = '/should face a weakness/'; $patterns[92] = '/ST Ltd Downside;/'; $patterns[93] = '/has broken/'; $patterns[94] = '/rising trend line/'; // With the next line crash // $patterns[95] = '/hello/; $replacements = array(); $replacements[ 0] = 'Fecha:'; $replacements[ 1] = 'Hora:'; $replacements[ 2] = 'Divisa:'; $replacements[ 3] = 'Ãltimo:'; $replacements[ 4] = 'Pivote:'; $replacements[ 5] = 'TÃtulo:'; $replacements[ 6] = ' '; $replacements[ 7] = ' '; $replacements[ 8] = 'Análisis:'; $replacements[ 9] = 'AntradÃa'; $replacements[10] = 'Continuación del rebote'; $replacements[11] = 'Nuestra recomendación:'; $replacements[12] = 'Escenario alternativo:'; $replacements[13] = 'Abrir posiciones largas'; $replacements[14] = 'por encima de'; $replacements[15] = 'Por debajo de'; $replacements[16] = 'por debajo de'; $replacements[17] = 'Por encima de'; $replacements[18] = 'con'; $replacements[19] = 'objetivos'; $replacements[20] = ' como '; $replacements[21] = 'como máximo'; $replacements[22] = 'esperamos una caida'; $replacements[23] = ' a '; $replacements[24] = ' y '; $replacements[25] = 'Niveles importantes:<b>'; $replacements[26] = 'Comentario: '; $replacements[27] = 'El par ha rebotado'; $replacements[28] = 'sobre su soporte'; $replacements[29] = ' y '; $replacements[30] = 'está buscando'; $replacements[31] = ' su '; $replacements[32] = 'nueva resistencia'; $replacements[33] = ' último'; $replacements[34] = 'bajo presión'; $replacements[35] = 'Abrir posiciones cortas'; $replacements[36] = 'el RSI'; $replacements[37] = 'está '; $replacements[38] = 'forzado'; $replacements[39] = 'esperamos una repunte'; $replacements[40] = 'Permanece alcista'; $replacements[41] = 'Permanece bajista'; $replacements[42] = 'permanece '; $replacements[43] = 'El par ha roto'; $replacements[44] = 'nuevo soporte'; $replacements[45] = 'resistencia'; $replacements[46] = 'soportado por'; $replacements[47] = 'una lÃnea de tendencia alcista'; $replacements[48] = 'una lÃnea de tendencia bajista'; $replacements[49] = 'el canal '; $replacements[50] = 'mixto '; $replacements[51] = ' alcista.<'; $replacements[52] = ' bajista.<'; $replacements[53] = 'un canal alcista.'; $replacements[54] = 'un canal bajista.'; $replacements[55] = 'deberÃa debilitarse'; $replacements[56] = 'alcista.'; $replacements[57] = 'bajista.'; $replacements[58] = 'Nuestra recomandación:'; $replacements[59] = 'Posiciones cortas'; $replacements[60] = 'Una penetración alcista de'; $replacements[61] = 'nos llevarÃa a un rebote hasta'; $replacements[62] = 'Niveles importantes:<b>'; $replacements[63] = 'pivote'; $replacements[64] = ''; $replacements[65] = ' Ãltimo<'; $replacements[66] = ' el par '; $replacements[67] = ' realizando un rebote '; $replacements[68] = ' pero '; $replacements[69] = ' en un'; $replacements[70] = ' canal bajista'; $replacements[71] = 'rebote.<'; $replacements[72] = 'Tendencia: '; $replacements[73] = 'Alcista a'; $replacements[74] = 'Medio plazo'; $replacements[75] = 'rebotando'; $replacements[76] = 'se mantiene'; $replacements[77] = 'canal alcista'; $replacements[78] = 'soporte formado'; $replacements[79] = 'soporte'; $replacements[80] = 'carece'; $replacements[81] = 'impulso alcista'; $replacements[82] = 'impulsobajista'; $replacements[83] = 'Si la subida rompe'; $replacements[84] = 'Si la bajada rompe'; $replacements[85] = 'abrirá el camino a'; $replacements[86] = 'Poyección Fibo'; $replacements[87] = 'siguientes'; $replacements[88] = 'deberÃa rebotar en'; $replacements[89] = 'acercandose a'; $replacements[90] = 'debemos tener precaución'; $replacements[91] = 'deberÃa debilitarse'; $replacements[92] = 'Bajista a'; $replacements[93] = 'a roto'; $replacements[94] = 'lÃnea de tendencia alcista'; // With the next line NO crash $replacements[95] = 'hola'; $resultado_string = preg_replace($patterns, $replacements, $string); return $resultado_string; } ?> Expected result: ---------------- Translate a string from a especific work in inglish to spanish Actual result: -------------- with $patterns[95] defined crash Actually mi solution is, after call the function, call to other function with new 95 $patterns with the returned string by trhe first function. -- Edit bug report at http://bugs.php.net/bug.php?id=53115&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=53115&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=53115&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=53115&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=53115&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=53115&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=53115&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=53115&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=53115&r=needscript Try newer version: http://bugs.php.net/fix.php?id=53115&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=53115&r=support Expected behavior: http://bugs.php.net/fix.php?id=53115&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=53115&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=53115&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=53115&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=53115&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=53115&r=dst IIS Stability: http://bugs.php.net/fix.php?id=53115&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=53115&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=53115&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=53115&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=53115&r=mysqlcfg