I tried understanding why the fix helped me finish the install for a while, and I think it is completely bogus; the following snippet reproduces the logic of the code before patching:
$optionFlags = array(array(MYSQLI_READ_DEFAULT_GROUP,0));
foreach($optionFlags as $arr) {
print $arr[0] . "=" . $arr[1];
}
output is MYSQLI_READ_DEFAULT_GROUP = 0, which is just fine and is the intended behavior.
Changing it to $arr[1][0] outputs:
MYSQLI_READ_DEFAULT_GROUP =
instead, which means the option is set to the empty string instead of the intended value (zero). I grepped for other places setting optionFlags or for classes inheriting from the patched class, but found none, that's why I think the fix is really incorrect.
The intent of the code which is patched is likely to disable parsing of my.cnf (contrarily to what the comment says?!).
After googling a bit more, I found a report of a php5 segfault and after checking my sever logs, sure enough I found:
[Mon May 03 11:47:04 2010] [error] [client 192.168.122.1] PHP Deprecated: Function ereg() is deprecated in /usr/share/gallery2/modules/core/classes/GalleryStorage.class on line 1136, referer: http://<hidden>/install/index.php?step=7
[Mon May 03 11:47:04 2010] [notice] child pid 3346 exit signal Segmentation fault (11)
I tried understanding why the fix helped me finish the install for a while, and I think it is completely bogus; the following snippet reproduces the logic of the code before patching: MYSQLI_ READ_DEFAULT_ GROUP,0) ); $optionFlags as $arr) {
$optionFlags = array(array(
foreach(
print $arr[0] . "=" . $arr[1];
}
output is MYSQLI_ READ_DEFAULT_ GROUP = 0, which is just fine and is the intended behavior.
Changing it to $arr[1][0] outputs: READ_DEFAULT_ GROUP =
MYSQLI_
instead, which means the option is set to the empty string instead of the intended value (zero). I grepped for other places setting optionFlags or for classes inheriting from the patched class, but found none, that's why I think the fix is really incorrect.
The intent of the code which is patched is likely to disable parsing of my.cnf (contrarily to what the comment says?!).
After googling a bit more, I found a report of a php5 segfault and after checking my sever logs, sure enough I found: gallery2/ modules/ core/classes/ GalleryStorage. class on line 1136, referer: http://<hidden> /install/ index.php? step=7
[Mon May 03 11:47:04 2010] [error] [client 192.168.122.1] PHP Deprecated: Function ereg() is deprecated in /usr/share/
[Mon May 03 11:47:04 2010] [notice] child pid 3346 exit signal Segmentation fault (11)
So I believe this is a php5 bug.