ID: 24909 User updated by: a0 at hush dot com Reported By: a0 at hush dot com -Status: Feedback +Status: Open Bug Type: Math related Operating System: solaris 8 PHP Version: 4.3.2 New Comment:
i used the cli binary in both cases Previous Comments: ------------------------------------------------------------------------ [2003-08-02 15:00:52] [EMAIL PROTECTED] I've tried the ZTS version on both Linux & Windows and it worked perfectly in both cases. Did you run test via the nsapi module or using PHP cli or cgi binaries? ------------------------------------------------------------------------ [2003-08-02 13:55:00] a0 at hush dot com thanks for the response. i have downloaded 4.3.3RC2 and tried it. first, i configured it using no args. after i compiled it, the rand() function behaves as expected, even with a range specified. this works. i then configured it with --with-nsapi=/usr/local/iws41, which is what we need to use the module with our webserver. after i compiled it, the cli program now returns a 0 whenever a range is specified to rand(). i have not really looked through the code, but i would guess this has something to do with the fact that php is built with -DZTS in the second scenario (a different random function is used in rand.c when this is defined). ------------------------------------------------------------------------ [2003-08-02 12:46:58] [EMAIL PROTECTED] I've asked a number of people to replicate the problem, however they were unable to do so using latest PHP and Solaris 8 & 9. Please try the latest snapshot of 4.3.3 and see if the problem persists. ------------------------------------------------------------------------ [2003-08-01 14:37:22] a0 at hush dot com Description: ------------ when using the rand function with php 4.3.2 on solaris 8, it will return a random value as expected if no range is specified. if a range is specified it will always return the low value of the range. i'm building the module with -DZTS, and it is being loaded into IWS4.1. i've modified the code so it works by changing line 36 of php_rand.h from #if HAVE_LRAND48 to #if (HAVE_LRAND48 && !sun) so PHP_RAND_MAX will get a value of RAND_MAX. Reproduce code: --------------- <? $r = rand(); echo "$r\n"; $r = rand(0, 100); echo "$r\n"; ?> Expected result: ---------------- 24384 0 (it will always return 0) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24909&edit=1