diff -Naur php5-5.1.2.orig/ext/standard/php_rand.h php5-5.1.2/ext/standard/php_rand.h
--- php5-5.1.2.orig/ext/standard/php_rand.h	2006-01-01 07:50:15.000000000 -0500
+++ php5-5.1.2/ext/standard/php_rand.h	2008-07-16 16:43:51.000000000 -0400
@@ -49,7 +49,7 @@
 #ifdef PHP_WIN32
 #define GENERATE_SEED() ((long) (time(0) * GetCurrentProcessId() * 1000000 * php_combined_lcg(TSRMLS_C)))
 #else
-#define GENERATE_SEED() ((long) (time(0) * getpid() * 1000000 * php_combined_lcg(TSRMLS_C)))
+#define GENERATE_SEED() (((long) (time(0) * getpid())) ^ ((long) (1000000.0 * php_combined_lcg(TSRMLS_C))))
 #endif
 
 PHPAPI void php_srand(long seed TSRMLS_DC);
