Right after installing pageroute 6.x-1.0-beta1 on Drupal 6.10, I get the following warnings from PHP on the top of every page:

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /home/.mingus/ddthomps/testbed.danielthompson.info/drupal-stable/modules/pageroute/pageroute.module on line 133

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of module_invoke_all(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /home/.mingus/ddthomps/testbed.danielthompson.info/drupal-stable/modules/pageroute/pageroute.module on line 135

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of call_user_func(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /home/.mingus/ddthomps/testbed.danielthompson.info/drupal-stable/modules/pageroute/pageroute.module on line 258

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of call_user_func(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /home/.mingus/ddthomps/testbed.danielthompson.info/drupal-stable/modules/pageroute/pageroute.module on line 433

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of call_user_func(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /home/.mingus/ddthomps/testbed.danielthompson.info/drupal-stable/modules/pageroute/pageroute.module on line 433

I'm using PHP 5.2.6/Apache 2.0.63/MySQL 5.0.16 and my host is Dreamhost.

Dreamhost does allow me to use a custom php.ini file, so I may be able to get around the problem like the error says, but I thought I would let you know about this bug in case people who can't change their php.ini files come across it.

Thanks.

Comments

dan.thompson’s picture

Managed to work around this at Dreamhost by setting up a custom php.ini file. Figured I'd document it here in case it is of use to somebody.

  1. Follow the instructions at the DreamHost wiki PHP.ini entry to set up a custom php.ini file. For people who don't have DreamHost, I'd look at your host's documentation on how to use a custom php.ini file. The above wiki entry may still help though.
  2. Open your php.ini file in a text editor, and look for the line that is allow_call_time_pass_reference = Off. Change the word Off to On.

Your site should now be able to use the pageroute module without any warnings.

dan.thompson’s picture

Seems to be one possible cavet after working around the PHP warning: saving any changes to a pageroute will save the changes, but will just redirect your front page. I say possible because I don't know if this is intended behavior, or even due to my workaround.

sepgil’s picture

Status: Active » Fixed

Should be fixed in the newest version...

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.