2016-11-13 01:23:05: (mod_fastcgi.c.2673) FastCGI-stderr: PHP Fatal error: Call-time pass-by-reference has been removed in /data/project/pirsquared/public_html/iw.php on line 147
Here's the code that is blowing up:
if (isset($_REQUEST['wikis']) && strlen(trim($_REQUEST['wikis']))>0) { $wikilist = explode(',', preg_replace('/\s+/', '', $_REQUEST['wikis'])); $wikis_query = $meta_pdb->prepare("SELECT slice, dbname, url FROM wiki WHERE $other_conds AND dbname IN (" . trim(str_repeat("?,", count($wikilist)), ",") . ") ORDER BY SLICE"); $types = str_repeat('s', count($wikilist)); array_unshift($wikilist, $types); call_user_func_array( array( $wikis_query, "bind_param" ), &$wikilist ); }
The &$wikilist in the above code is the problem. The & is a "call-time pass-by-reference" conversion. This was deprecated in PHP 5.3.0 and removed in PHP 5.4.0. The Trusty exec node that this webservice is currently running on has PHP 5.5. There are various workarounds suggested in the mysqli_stmt::bind_param docs.