WebPageTest & PHP 5.4

Patrick,

As of PHP version 5.4 the ‘import_request_variables’ function is deprecated (PHP Manual) You reference it in common.inc:

import_request_variables('PG', 'req_');

I encountered this issue on a new server I was setting up a new host. Of course, I was a bit slow to notice that common.inc had error_reporting(0) no matter how much error reporting I turned up in the php.ini nothing was showing up.

This small change to common.inc resolves the issue:

extract($_REQUEST, EXTR_PREFIX_ALL|EXTR_REFS, 'req_');

Here is a small patch, however, it is untested on anything, but PHP 5.4:

[code]— /home/webperfdash/common.inc 2012-06-05 16:55:53.336551754 +0000
+++ common.inc 2012-06-05 16:53:59.553500683 +0000
@@ -4,7 +4,7 @@
error_reporting(1);
umask(0);
date_default_timezone_set(‘UTC’);
-import_request_variables(‘PG’, ‘req_’);
+extract($REQUEST, EXTR_PREFIX_ALL|EXTR_REFS, 'req’);

if ($_SERVER[‘HTTP_MOD_REWRITE’] == ‘On’)
define(‘FRIENDLY_URLS’, true);[/code]

-Aaron

Thanks. I’m making a minor tweak but testing now and will commit shortly:

extract($_POST, EXTR_SKIP|EXTR_PREFIX_ALL|EXTR_REFS, 'req');
extract($_GET, EXTR_SKIP|EXTR_PREFIX_ALL|EXTR_REFS, 'req');

The main thing I was trying to accomplish was that $_REQUEST depends on the configuration of request_order in php.ini and I had a case where a cookie value collided with a post parameter and it led to really “interesting” behavior.

Also, watch out for the underscore after req, php adds it automatically with extract()