Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 02-23-2012, 08:47 PM
PleaseHelp PleaseHelp is offline
 
Join Date: Jan 2012
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Strange DB Error when integrating "global.php" in a live site. PLEASE HELP.

We are trying to integrate global.php file on a live site and are getting a very strange error.

This particular site works with classes (each page of the site is a class called by the index.php) and connects to its own Database, which is different to the vB Database.

The page where we want to integrate the forum is just another class (called "Forum") that gets called by the main index.php file of the site.

All we added to this "Forum" class was the line require_once('[vb dir]/global.php'); to test it. But when we run it on our live site, it echo's the standard vB Database error:

PHP Code:
mysql_connect(): Unknown MySQL server host '[database name]' (3)
[
site]/includes/class_core.php on line 315 
(We should add that the vB error page contains the HTML for a full page (with <html></html> tags and everything in between) even though it is being called within another page which has already opened the <html> and <body> tags.)

So we looked into class_core.php and have narrowed the error down to this line:

PHP Code:
$link $this->functions[$usepconnect 'pconnect' 'connect']("$servername:$port"$username$password); 
Now here is where it gets really strange.

We've edited that class_core.php file to do an echo of the following variables contained in that line:
  • $usepconnect
  • $servername
  • $port
  • $username
  • $password

What's strange is that it is echoing those values TWICE, which must mean require_once ('[vb dir]/global.php'); is calling that vB line / function two times (and we have no idea why). However, it only calls it twice when we are logged into our site, because if we are logged off, it only calls it once and no VB / Database error is produced. When we are logged-in and it calls it twice, the first time it gets called, all the values are correct, but the second time (lower in the page), they are wrong and seem to contain values from the main Database of the site and that's why it's producing a MySQL connection error. (To be clear, our "Forum" class is NOT getting called twice, not even when logged-in, so it's not that).

It gets stranger. We had the script echo the microtime() before and after global.php gets called in our "Forum" class, and before and after the line above gets executed within the class_core.php to see at what point that line is getting executed a second time and echoing that error. Well, that line is getting executed the second time several microseconds AFTER the microsecond that appears after global.php gets called in the "Forum" class, so how in the world is this line getting called a second time and AFTER global.php has already run?

This must be some kind of Database conflict with the live site, but we don't know how to isolate it or resolve it, nor do we know how to find out exactly what is causing this.

Can anyone please help us solve this mystery?

Thanks!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 08:16 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05632 seconds
  • Memory Usage 2,200KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_threadedmode.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete