UPDATE 2019: The processes below were very helpful, but we just upgraded from 3.2.2 to 3.2.5 and needed more effort than what is described below so if if this does not work for you, read our new NO INPUT FILE SPECIFIED fix.
I just finished struggling through updating phpBB 3.1 to 3.2 on a GoDaddy hosting plan which required me to get through two seemingly complex errors. Before you get started there are three things you should confirm:
- Your PHP level is at or above 5.4
- You can do this in the PHP section of your hosts control panel (likely cPanel these days), or you can just phone your hosts support line
- Inside your phpBB > ADMINISTRATIVE CONSOLE > CUSTOMIZE > LANGUAGE PACKS contains ONLY British English.
- Remove any other languages
- Inside your phpBB > ADMINISTRATIVE CONSOLE > CUSTOMIZE > MANAGE EXTENSIONS you have only supported Extensions.
- Personally, I would disable ALL extensions before an upgrade then re-enable them afterwards
Assuming you have those done, lets get on to fixing the errors:
Error 1 – <forum>/install brings up: No input file specified
Instead of trying to run the database upgrade through the web interface, use the command line instruction specified in the phpBB upgrade instructions (which you can read HERE). If you think… wait, I don’t have command line access to my hosts servers! You probably do via SSH and using a free tool named PUTTY (which you can download HERE) .
The solution was quite simple for a tech but might be daunting for a hobbiest so if you are lost with the instructions, just call your host (GoDaddy, InMotion, BlueHost…) ON THE PHONE and walk through the instructions. They will be happy to help.
- Launch Putty and put your servers IP address or host name in the obvious field and click OPEN
- Log into your site with your typical hosting credentials (the creds you likely use for FTP, not the creds you use on WordPress or phpBB)
- Type LS and press the enter key (just to get yourself oriented. LS is like DIR in Windows)
- Type CD and the name if the folder that holds your domain and then POTENTIALLY type CD and the name of the folder that holds your phpBB forum if it is not in the root
- Type LS, press the enter key and confirm you are in the root folder of your phpBB forum
- Copy / Paste the following command and press the enter key
php ./bin/phpbbcli.php db:migrate --safe-mode
Hopefully this works without error and all you need to do is close Putty delete the INSTALL folder as explained in step 13 of the phpBB upgrade instructions. If, however, you see an error move on to the next fix below
Error 2 – Fatal error: Call to a member… fix_user_styles.php
If you see the following error, the fix is straight forward.
PHP Fatal error: Call to a member function fetch_array() on resource in /home/xxxxx/public_html/install/update/new/phpbb/db/migration/data/v32x/fix_user_styles.php on line 42
I found the fix on the phpBB support forum but the person that wrote it left out a few folders in the path which had me spending time trying to find the file to fix… we will not make that mistake here 🙂
- Use your favorite FTP program (or your hosting companies FILE MANAGER) to connect to your site
- Change into
fix_user_styles.phpand open it with a plain text editor like Notepad or Notepad++
$enabled_styles = $result->fetch_array();
$enabled_styles = $this->db->sql_fetchrowset($result);
- Save the file, upload it back to location you downloaded it from and overwrite the original
- Go back to your Putty and re-run the command
php ./bin/phpbbcli.php db:migrate --safe-modeas detailed in ERROR 1: NO INPUT FILE SPECIFIED above
The command should now run without problem and your site should be happily upgraded to phpBB 3.2 and you can now have a nice day.