a customer reported having this error message on their web page:

CODE:
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of xml_parse_into_struct(). 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. However, future versions may not support this any longer. in /var/home/common.php on line 71


they had a dedicated server from www.webune.com and for some reason they were getting this error. they had just installed a new PHP script on their site and they were fraustrated because they didn't know what to do with this issue. they contacted webune.com and the support team at webune were able to get this error fix. I worked with the Webune Support Team and finally we were able to solve this solution for the customer.

In case in the future this error comes again, i am writing this step by step tutorial guide to help anyone or myself on how to fix this error and make it working again.

according to the php.ini file, this is the information it provides on allow_call_time_pass_reference:
CODE:
; - allow_call_time_pass_reference = Off     [Code cleanliness]
;     It's not possible to decide to force a variable to be passed by reference
;     when calling a function.  The PHP 4 style to do this is by making the
;     function require the relevant argument by reference.

; Whether to enable the ability to force arguments to be passed by reference
; at function call time.  This method is deprecated and is likely to be
; unsupported in future versions of PHP/Zend.  The encouraged method of
; specifying which arguments should be passed by reference is in the function
; declaration.  You're encouraged to try and turn this option Off and make
; sure your scripts work properly with it in order to ensure they will work
; with future versions of the language (you will receive a warning each time
; you use this feature, and the argument will be passed by value instead of by
; reference).
allow_call_time_pass_reference = Off


ok so basically to fix this error you need to login to your Linux Webune Dedicated Server as root using a SSH connection to the linux shell. If you are a webune customer and don't know what your root login is, contact Webune to get it. If you are not a Webune customer, just make sure you are following this instructions if you have a linux server like Red Hat, Fedora, Centos Etc..

IMPORTANT: before you start making changes to the php.ini file, make sure you make a backup incase you make a mistake: to make a backup, execute this command:
CODE:
cp /etc/php.ini /etc/php.ini.backup

once you have logged in as root, open the php.ini file with this command:
CODE:
nano /etc/php.ini

hit control + w - this will open the search promt at the bottom and type allow_call_time_pass_reference and hit ENTER on your keyboard. NOTE: you may have to do it twice to take you to the correct line. you want to go to the line where it says allow_call_time_pass_reference and not ;allow_call_time_pass_reference (if it has a simi-colon at the beginning of the line, this is a comment, you want to look for the line without the semi-colon. the correct line will look like this:
CODE:
allow_call_time_pass_reference = Off

once you have found the allow_call_time_pass_reference settings, change it to On to make it look like this:
CODE:
allow_call_time_pass_reference = On

Now restart you apache server for the changes to take affect with this shell command:
CODE:
/etc/init.d/httpd restart

you will see your Apache server shutdown and then restart. now refresh the web page where you were getting this error and you should not see it anymore.

Contributions: www.webune.com Support Team