phpbb2 converter doesn't work...

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

Previous topic - Next topic

Jobarr

Hello! I am trying to convert from phpbb2, but whenever it goes to step1 from the login page, I see this in IE:

"The page cannot be displayed
The page you are looking for is currently unavailable. The Web site might be experiencing technical difficulties, or you may need to adjust your browser settings. "

or this in Opera:

"Connection closed by remote server

You tried to access the address http://www.example.com/smf/phpbb2_to_smf.php?step=1, which is currently unavailable. Please make sure that the Web address (URL) is correctly spelled and punctuated, then try reloading the page."


It is very strange and I can't understand what is wrong! If I just go to that exact URL manually, I have no problem. I know there is nothing wrong with the DNS or server because everything else works.

Sometimes I can get it to work in Firefox, but I have to manually keep clicking the "continue" buttons...

Please help, thanks!
-Jeremy

ThomasJ

Looks like it might be trying to use the configured location for SMF.

Remember you have to have a working SMF install, that includes setting the path/url to the forum correctly before trying to convert.
Whoops! Did i break that?

Jobarr

SMF is already installed, the paths are correct. Like I said, it works with Firefox (sometimes).

[Unknown]

How long does it take before you get this message?

-[Unknown]

Jobarr

About 10 seconds, sometimes I see a flash of the first step, where I see it copying over avatars or something. Then, before I can do anything, I see this:

"Connection closed by remote server
You tried to access the address http://www.example.com/smf/phpbb2_to_smf.php?step=8&start=0, which is currently unavailable. Please make sure that the Web address (URL) is correctly spelled and punctuated, then try reloading the page."

Jobarr


[Unknown]

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]

Jobarr

Nope, I still see the same problem, and besides, max_execution_time is set to 30, if that is what you are talking about! Thanks though. It seems, SOMETHING is causing the script to return an invalid response to the browser, or at least one that is doesn't understand, instead of just pausing like it should.

ThomasJ

Im still curious though as to why it would redirect you to www.example.com, unless you have edited the error message.
Whoops! Did i break that?

Jobarr


[Unknown]

Quote from: Jobarr on May 02, 2005, 06:13:37 AM
Nope, I still see the same problem, and besides, max_execution_time is set to 30, if that is what you are talking about! Thanks though. It seems, SOMETHING is causing the script to return an invalid response to the browser, or at least one that is doesn't understand, instead of just pausing like it should.

It's an Apache setting in httpd.conf, named Timeout.  I would guess it is set to 10.  Has nothing to do with max_execution_time.

-[Unknown]

Jobarr

Ok, well that still doesn't explain why it wouldn't work if I set it to something very low. :(

Any other info you might need (phpinfo, etc.)?

Oldiesmann

From Redhat's site (http://www.redhat.com/docs/manuals/linux/RHL-7.2-Manual/ref-guide/s1-apache-config.html):

QuoteTimeout defines, in seconds, the amount of time that your server will wait for receipts and transmissions during communications.

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.
Michael Eshom
Christian Metal Fans

Herman's Mixen

it works fine for me

this what i covered for the first time i used it

http://www.domain.com/phpbb2/

http://www.domain.com/smf/

put in your already installed smf dir

the file in the root of smf

./phpbb2_to_smf.php chmod 777

and it will work only if you dont have installed any mods in phpbb2 etc
Met vriendelijke groet, The Burglar!

 House Mixes | Mixcloud | Any Intelligent fool can make things bigger, more complex, and more violent.
It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Albert Einstein

Former Godfather of our dutch community ;)

[Unknown]

The thing is, some of the things the converter needs to do may take a long time.  As much as things have been optimized, copying is a tedious and slow process.

-[Unknown]

jaijaymama

I can't get the coverter to work for me, either. Both of my forums are on the same database, same password, everything. I don't know if it's because I'm running 2.0.6 or because I have mods. If I upgrade my phpBB, I usually lose my mods, which is frustrating. I don't want to upgrade phpBB, lose those mods (basically, I don't want to lose the attachment mod & attachments), and then the conversion tool still won't work. *sigh*

This is the error message I get:
QuoteSorry, the database connection information used in the specified installation of SMF cannot access the installation of phpBB2. This may either mean that the installation doesn't exist, or that the MySQL account used does not have permissions to access it.

I've contacted my host for support on the MySQL end - to see if perhaps there was a problem with the database or something - but I'm not getting much in the way of help.

How would I go about doing this without the conversion tool? I really, really want to use SMF, but I don't want to start all over.

TIA!  :)


Herman's Mixen

well you are losing your mods coz they are for phpbb and not for SMF so you have to uninstall any of yhose mods in phpbb before conversion
and add the right database user and passwords !!
Met vriendelijke groet, The Burglar!

 House Mixes | Mixcloud | Any Intelligent fool can make things bigger, more complex, and more violent.
It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Albert Einstein

Former Godfather of our dutch community ;)

jaijaymama

#17
True. I didn't think of it that way. Question: Do I have to have phpBB 2.0.10 or higher?

The user & password is correct for both applications. I made sure of that. lol

Without the conversion tool, how would someone go about this?

Oldiesmann

No you don't have to have phpBB 2.0.10 or higher... It should work with just about any version of phpBB 2.0

For the database, make sure of one of the following:

1. phpBB and SMF are installed on the same database

or

2. The MySQL user account you're using for the phpBB database has access to the database SMF is installed on
Michael Eshom
Christian Metal Fans

jaijaymama

I haven't been prompted to give a separate username, I use the same user and pw for each board. I'm asking my host whether or not there are different users, so we'll see. Otherwise, like I said, they are on the same database with the same user/pw, on the same server (different directories, of course).

Does the version of MySQL matter?

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: