![]() |
[Fix How to] PHP 5 and array_merge errors
If you've upgraded to php 5 on your server you may have seen some of your plug-in's and add-ons throwing errors like this:
Quote:
The reason this came up is due to a change in the way array_merge works in php 5. Basically it will no longer accept anything but an array without throwing an error. Thankfully it's just an 'incorrect usage' error and our code still works as it should, it just throws an error now. The correct way to fix this is not using array merge with anything but arrays. However we already have a lot of code lying around doing things like this: PHP Code:
Just change your code so it looks like this: PHP Code:
|
If you do just this change? Will this script work for php4?
|
Yes, the fix is just type casting the value into the array, however, if you know that you are only adding other types of data on to the array, just use array_push() or $var[] = 'option1';
PHP Code:
|
this small fix helps :)
|
i have the same problem but with functions.php
this is my error: array_merge() [function.array-merge]: Argument #1 is not an array in /includes/functions.php(1259) : eval()'d code on line 5 i tried to look for the above things in fuctions.php but was unscusseful...maybe u can help me as well |
Quote:
|
im fn lost. this sh.it doesnt help when you cant find the stupid code at all. then what the hell is the option 1, 2, 3, 4???
|
I have the same problem as mystic10 i get the same error and the error is this (array_merge() [function.array-merge]: Argument #1 is not an array in /includes/functions.php(1259) : eval()'d code on line 5) and i dont know what i should do or what to do can you plz help me
|
Quote:
Try asking nicely for help, and add a please, and include full error messages and I'll try to help you. Yes I'm an ass hole, but only when provoked. I'm pretty friendly if you come at me with respect. Quote:
Open functions.php and locate that line, on it you'll find a line of code similar to this one: PHP Code:
Once you have the name of the hook location go into the plug-in manager in the admincp and find all plug-ins using that location. The code throwing the error is located in one of them. |
This is my error:
Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /index.php(537) : eval()'d code on line 119 I've found the plug-in causing the error. I opened it saw an array and did as instructed above, but still received the same error. Can anyone help me with this please? Here is the code within the plug-in: Code:
if($vbulletin->options['siteteam_active'] == 1) { |
Quote:
$tmp = unserialize($user["phrasegroup_siteteam"]); to this: $tmp[] = unserialize($user["phrasegroup_siteteam"]); You have to feed it an array in order for you not to get an error. |
That worked Abe, Thanks!!
|
Abe1 Can you help me with my problem?
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /includes/functions.php(1259) : eval()'d code on line 5 Plugin Code; if($vbulletin->options['siteteam_active'] == 1) { $userid = $vbulletin->userinfo['userid']; $languageid = $vbulletin->userinfo['languageid']; $user = $vbulletin->db->query_first_slave(" SELECT language.phrasegroup_siteteam AS phrasegroup_siteteam FROM ".TABLE_PREFIX."user AS user LEFT JOIN ".TABLE_PREFIX."language AS language ON (language.languageid = " . (!empty($languageid) ? $languageid : "IF(user.languageid = 0, " . intval($vbulletin->options['languageid']) . ", user.languageid)") . ") WHERE user.userid = $userid "); $tmp[] = unserialize($user["phrasegroup_siteteam"]); $vbphrase = array_merge($vbphrase, $tmp); require_once('includes/functions_user.php'); require_once('includes/functions_bigthree.php'); $limit = $vbulletin->options['siteteam_count']; $teamarray = $vbulletin->db->query_read(" SELECT * FROM ".TABLE_PREFIX."user JOIN ".TABLE_PREFIX."usergroup AS ugroup ON ugroup.usergroupid=".TABLE_PREFIX."user.usergroupi d LEFT JOIN ".TABLE_PREFIX."usergroup ON (FIND_IN_SET(".TABLE_PREFIX."usergroup.usergroupid , ".TABLE_PREFIX."user.membergroupids)) WHERE ugroup.siteteam=1 OR ".TABLE_PREFIX."usergroup.siteteam=1 GROUP BY ".TABLE_PREFIX."user.userid ORDER BY RAND() LIMIT $limit "); while ($team = $vbulletin->db->fetch_array($teamarray)){ if($vbulletin->options['siteteam_type']== 1) { $avatarurl = fetch_avatar_url($team['userid']); if (!$avatarurl) { $teamavatar = 'images/misc/noavatar.gif'; } else { $teamavatar = $vbulletin->options['bburl'] . '/' . $avatarurl[0]; } } else { $teamavatar = ''; $teamuserinfo = verify_id('user', $team['userid'], 1, 1, 47); $showprofilepic = ($vbulletin->options['profilepicenabled'] AND $teamuserinfo['profilepic'] AND ($permissions['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canseeprofilepic'] OR $vbulletin->userinfo['userid'] == $teamuserinfo['userid'])) ? true : false; if($vbulletin->options['usefileavatar']) { $teamavatar = $vbulletin->options['profilepicurl'] . '/profilepic' . $teamuserinfo['userid'] . '_' . $teamuserinfo['profilepicrevision'] . '.gif'; } else { $teamavatar = 'image.php?' . $vbulletin->session->vars['sessionurl'] . 'u=' . $teamuserinfo['userid'] . "&dateline=$teamuserinfo[profilepicdateline]&type=profile"; } if(empty($teamavatar) || !$showprofilepic) { $avatarurl = fetch_avatar_url($team['userid']); if(!$avatarurl) { $teamavatar = 'images/misc/noavatar.gif'; } else { $teamavatar = $vbulletin->options['bburl'] . '/' . $avatarurl[0]; } } } $userinfo = verify_id('user', $team['userid'], 1, 1); $userinfo['lastactivitydate'] = vbdate($vbulletin->options['dateformat'], $userinfo['lastactivity'], true); $userinfo['lastactivitytime'] = vbdate($vbulletin->options['timeformat'], $userinfo['lastactivity']); $useronline = fetch_online_status($userinfo, true); $userinfo['onlinestatuskey'] = $userinfo['onlinestatus']; $totalcount ++; eval('$teambits .= "' . fetch_template('siteteam_teambits') . '";'); } unset($teamarray); eval('$meetteams .= "' . fetch_template('siteteam_main') . '";'); $footer = '<br />'.$meetteams.$footer; } --------------- Added [DATE]1206188832[/DATE] at [TIME]1206188832[/TIME] --------------- Never Mind Abe1, Found the problem in vbshout. |
I am still getting this error:
Code:
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /includes/functions.php(1259) : eval()'d code on line 5 Try changing this in the plugin named "Show Meet our team at forum home page": $tmp = unserialize($user["phrasegroup_siteteam"]); To this: $tmp[] = unserialize($user["phrasegroup_siteteam"]); I know that the error began and is caused by the plugin called "Site Team Version 1.1.0 for VB version 3.6.8 Where or what do I look for to edit and in which files to fix this error or stop it from being thrown. The Plugin actually functions, I just get the error code seen at the top of the forum page. If I turn off the SiteTeam plugin or make it in-active then the error goes away. It also started giving me that error right after I installed the plugin "SiteTeam v1.1.0" so I am certain that this is where the problem lies correct? So what exactly do I edit to fix this? Im very confused. Thank you! |
I am getting this error:
Code:
Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /index.php(539) : eval()'d code on line 264 Code:
{ Code:
if ($values1[0] != $values2[0]) |
index.php(539)
Your error is the code evaluated on line 539. That will tell you what Hook Location it is. then you need to go to the Plugin Manager and find a Plugin with this Hook Location. Goto to line 264 of the Plugin and your error should be present. (If you have more then one Plugin at that hook disable them and enable them one by one to find out which of them is causing the error, (n.b. the line number of the eval()'d code may change at this point). |
Many thanks. Your help showed me the plugin that caused this: "Just join us" in Forumhome affected the hook location forumhome_complete.
How do I find line 264 of the plugin? here is the content of the plugin: PHP Code:
PHP Code:
|
Thanks Brad the post helped me fix the problem.
My issue was in the vBShout [Template Cache] for anyone else that has that plugin fyi: my error was array_merge() [function.array-merge]: Argument #1 is not an array in /includes/functions.php(1259) : eval()'d code on line 5 |
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in [path]/includes/functions.php(1333) : eval()'d code on line 3
what i can do ? |
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /includes/functions.php(1259) : eval()'d code on line 5
I get that on profiles, and when i check line 5 of Functions.php And its just "|| # ---------------------------------------------------------------- # ||" So, what am i supposed to do? --------------- Added [DATE]1208584604[/DATE] at [TIME]1208584604[/TIME] --------------- Quote:
|
lucky me i am not the only noob with this problem :D
does anybody knows what i can do with this error Code:
Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /index.php(537) : eval()'d code on line 23 so shoot me i dont know what this meens give me a hammer and i will build you a house ;) but php is not my thing :D |
Thank you for this thread, it helped me so much:
originally I have got erorr on member.php I found that the error was here: fetch_userinfo plugin vBShout [Template Cache] original PHP Code:
PHP Code:
|
Fatal error: Call to a member function query_write() on a non-object in /home/iwarezne/public_html/forums/includes/functions.php(1385) : eval()'d code on line 13
Anyone know howto fix it/ |
Quote:
|
Really helpful thread big thanks! :):up:
|
Quote:
|
Quote:
|
When i restore my database, I got this problem:
I cannot login the Admincp and it informed Code:
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /includes/functions.php(1259) : eval()'d code on line 3 Can you help me? |
I've got this error since my server got upgraded to PHP5.
Code:
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in [path]/includes/functions.php(1385) : eval()'d code on line 3 I've searched functions.php for hook locations but there's quite a few, so how do I know which one is the error? I've stuck (array) into every occurance of array_merge on functions.php but this did nothing. Any ideas? |
bump
|
please help me
one user cant open his pm and user cp it get http 500 internal server error but all members is ok and it works with theme this is the error i got : PHP Code:
|
All times are GMT. The time now is 09:02 AM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|