News:

Wondering if this will always be free?  See why free is better.

Main Menu

phpbb2 converter doesn't work...

Started by Jobarr, April 30, 2005, 03:30:47 PM

Previous topic - Next topic

Oldiesmann

If they're both on the same database, then you should be able to use the same MySQL username/password for both boards.
Michael Eshom
Christian Metal Fans

jaijaymama

For some reason this is not working for me.  :( My host is out of ideas as well.

[Unknown]

What the converter is doing is it is using the MySQL connection information in Settings.php for SMF and trying to access the users table for phpBB with it.  If this test fails, then the converter cannot access both databases with one query, and the conversion cannot be done properly.

Please check the connection information in Settings.php, make sure it is correct, and make sure that it can access the database as described by the phpBB settings in config.php.

-[Unknown]

Jobarr

Quote from: Oldiesmann on May 03, 2005, 03:38:22 PM
Because this is set to 10, Apache will only wait 10 seconds for data to be sent or received, and then the connection is killed.

That doesn't explain why it wouldn't work even if I set it to 3 seconds, or why it seems to work more often in Firefox than any other browser.

[Unknown]

#24
Quote from: Jobarr on May 04, 2005, 07:44:06 PM
Quote from: Oldiesmann on May 03, 2005, 03:38:22 PM
Because this is set to 10, Apache will only wait 10 seconds for data to be sent or received, and then the connection is killed.

That doesn't explain why it wouldn't work even if I set it to 3 seconds, or why it seems to work more often in Firefox than any other browser.

Jobarr, I think you're not understanding the variable you're changing.

The converter runs several queries on the MySQL server.  Some of these queries are quite strenuous, and the converter can't do ANYTHING until they are COMPLETELY done - except time out.  Let me give you a situation:

You change the timeout, originally at 10, to 3.  The converter runs a query that takes 12 seconds.  What does the converter do?  Does it hire a leprechaun to distort time for it?  Unfortunately, it does not.  Instead, it takes 12 seconds, and - in the case that it has not timed out by now - quickly realizes that it has vastly surpassed its quota of 3 seconds and stops immediately, waiting on you or your browser's JavaScript to start it where it left off.

The converter cannot say "wake me up, MySQL, in 3 seconds - whether the query is done or not."  I mean, it could, but MySQL wouldn't do it.  It won't wake the converter up until it is well and ready.  If this means 30 seconds, it means 30 seconds.  MySQL will not be rushed.

The setting I described how to change only affects THE CONVERTER, not MySQL.  When it is woken up, it can look at the clock and scream "I'm late, I'm late, I'm very very late" like the rabbit in Alice and Wonderland, but it's already too late.  MySQL took to long and passed the 3 second limit.

That limit is not a HARD limit because that is impossible with the interaction with MySQL.  This is unfortunate, but true.  MySQL has no quota like settings at all, but if it did it would simply not finish the data transfer and you would end up with an incomplete conversion (which I don't think you want.)

As for Firefox, well... it's a good browser.  Still, it does not change anything and it's not Firefox that's going to solve this problem.

Is it entirely impossible to increase the timeout to 15?  We have it on this server at 300, which is the factory default setting.  10 is quite a low setting.

-[Unknown]

Jobarr

I just checked with my host

"Apache currently has no timeout setting. PHP's timeout setting is set
for 1440 seconds."


So, the timeout should not be the problem!

Oldiesmann

Jobarr, I really have a hard time believing that. 1440 seconds is 24 minutes. No host in their right mind would set PHP's timeout limit that high, nor would they setup Apache without a timeout limit. Doing so would leave them extremely vulnerable to Denial of Service attacks. Can you please post a link to a phpinfo file (What is phpinfo.php?)?
Michael Eshom
Christian Metal Fans

Jobarr

This isn't a normal host, it is a small hosting company.

http://herzeleid.com/phpinfo.php

[Unknown]

#28
I'm afraid, again, we're confusing multiple settings.

There's a PHP timeout (max_execution_time) and this is NOT the problem.  This setting can be overridden in PHP scripts and should probably be set to something reasonable like 30 by default.  Having it at 1440 is strange, but not a problem.  It is, however, currently set to 30.  This setting is in /etc/php.ini.

Next, there is the Apache Timeout.  This is the setting in question, and it is in /usr/local/apache/conf/httpd.conf by default.  Its default is 300, and again I'm telling you that it very much sounds like it is currently set to 10.  This timeout is the master, applied by Apache, and will stop PHP and anything else from doing anything right in its tracks.

Strangely, that phpinfo page lists the timeout as being at 300.  If this is really the case, something else is killing the request.

-[Unknown]

Jobarr

So, no one else has any ideas what else could be the problem them? :(

Oldiesmann

[Unknown], what's this Keep-Alive thing under the "HTTP Response Headers" section?

Keep-Alive timeout=8, max=50
Michael Eshom
Christian Metal Fans

Miraenda

#31
Quote from: [Unknown] on May 06, 2005, 01:36:09 PM
I'm afraid, again, we're confusing multiple settings.

There's a PHP timeout (max_execution_time) and this is NOT the problem.  This setting can be overridden in PHP scripts and should probably be set to something reasonable like 30 by default.  Having it at 1440 is strange, but not a problem.  It is, however, currently set to 30.  This setting is in /etc/php.ini.

Next, there is the Apache Timeout.  This is the setting in question, and it is in /usr/local/apache/conf/httpd.conf by default.  Its default is 300, and again I'm telling you that it very much sounds like it is currently set to 10.  This timeout is the master, applied by Apache, and will stop PHP and anything else from doing anything right in its tracks.

Strangely, that phpinfo page lists the timeout as being at 300.  If this is really the case, something else is killing the request.

-[Unknown]

You have the max_execution_timeout link wrong as ww.php.net rather than www.php.net for it.  The main concern for max_execution_timeout is to ensure good coding practices.  Setting it at 30 ensures that any code that loops and is crappy doesn't keep running.  The higher the threshold, the more likelihood to crash the server by the processes building up.  Recently, a guy who almost crashed a server and got moved to an abuse one with us was talking about this, how the server he was on had a high threshold for the timeout while the new server had 30.  Apparently, a lot of hosting companies have it set high as otherwise people complain if it is 30 as it being too low...

Miraenda

Quote from: Oldiesmann on May 12, 2005, 07:54:33 PM
[Unknown], what's this Keep-Alive thing under the "HTTP Response Headers" section?

Keep-Alive timeout=8, max=50

Here is a link on it - http://httpd.apache.org/docs/keepalive.html

Oldiesmann

Michael Eshom
Christian Metal Fans

Miraenda


msibm

Quote from: [Unknown] on May 01, 2005, 09:46:24 PM
Sounds like your server is set up in such a way that it may not be possible to run the converter.  Basically, the conversion takes a bit of time in many cases... and, well, your server is set up so as to wait no longer than 10 seconds.  If the converter needs 11 seconds, it will fail.  This is, obviously, bad.

Find this line:

if (time() - $time_start > 10)

And replace it with:

if (time() - $time_start > 4)

And try again.  It may still have a bit of trouble.

-[Unknown]
After changed it to 4, there is blank page when browse convert.php. What's the matter? Please help me.
Thanks.

Advertisement: