Several months ago, I tried to upgrade from 4.1 to 4.3 - I got a horrible white screen issue - I decided it must be php because that is what white screen normally means (lol, that is what I always tell everyone else)...after fighting it a while and not getting anywhere, I decided it would be easier to build a new server with php 8.1 and migrate the site across.
This worked great for my 4.1 site which has been running quite happily on the new server for a few months.
Today, I thought, well I should go ahead and upgrade now....and to my despair, I have the same white screen - now it doesn't even try to let me upgrade- as soon as I pull down the 4.3 code via git, the white screen of death appears and if I try and run upgrade.php through cli, it does nothing, just jumps back to a command prompt like it has completed but no output and nothing happens...I go back to 4.1 and all is good again. I try 4.2 and the same thing happens as with 4.3.
I have poured through logs and fixed every error that I could find and my logs now look cleaner that they have ever done! I have deleted all of my moodledata (except for filedir) but had to restore the lang directory as apparently that held all my language customizations...I have run checks.php and nothing there - environment also shows my server to be fully compatible.
I turned on full developer debugging and run the upgrade.php to see if that pulled any errors but it still does absolutely nothing. This is on a debian server 5.10.97. DB is on another server running on Mariadb. No errors on that server.
I have uninstalled and deleted the assignment folder. Which promptly reinstalls everytime i switch back to 4.1 branch! What baffles me is that it won't even try to install from the command line - which tends to rule out apache issues...
Would appreciate any ideas of where to look next...could a plugin cause this behavior - I seem to think if it was a plugin it would cause issues before the install, not stop it from even starting...but maybe I am wrong... I tell everyone else that this is a php issue but I am not finding anything wrong with my php install at this point...
I just decided to try with a new config file - that allowed the site installer to load (progress!!) - I got to the lang page (the page after entering db details) and it whitescreened there...but just to reiterate that the site connects to the db just fine with 4.1...
> I have uninstalled and deleted the assignment folder. Which promptly reinstalls everytime i switch back to 4.1 branch!
mod/assign or mod/assignment? Anything to do with the old Assignment code gone?
'SoS', Ken
Assignment. Which has to be removed per instructions.
I would take a look at blocks, local plugins and into themes…
Even a single removed function from the core, but used in a third party (not coherently updated) plugin could be the main cause.
hth
These are different errors and are managed in a different way from the usual errors which are under the log_errors directive.
HTH
Moodle core doesn't have a 'check plugins' tool/script.
So ..... 'roll your own' ... live server example:
Use uninstall_plugins.php script in admin/cli/ to get a list of plugins:
php uninstall_plugins.php --show-contrib will list them
Use same to create a addons.txt file like:
php uninstall_plugins.php --show-contrib > addons.txt
Edit addons.txt so that you have only the short names of the addons:
mod_googlemeet Google Meet™ for Moodle
mod_hvp H5P
mod_offlinequiz Offline Quiz
offlinequiz_correct Offlinequiz Results Correct
offlinequiz_overview Offlinequiz Results Overview
offlinequiz_regrade Offlinequiz Regrading
offlinequiz_rimport Offlinequiz Results Import
offlinequiz_statistics Offline Quiz Statistics
block_quickmail Quickmail
qtype_wq Wiris Quizzes
filter_wiris MathType by WIRIS
atto_morefontcolors More font colors
atto_wiris MathType by WIRIS
tiny_wiris MathType by WIRIS
tool_userdebug User related debugmodus
local_deleteoldquizattempts Old quiz and question attempts deletion
local_mailtest eMail Test
Becomes
mod_googlemeet
mod_hvp
mod_offlinequiz
offlinequiz_correct
offlinequiz_overview
offlinequiz_regrade
offlinequiz_rimport
offlinequiz_statistics
block_quickmail
qtype_wq
filter_wiris
atto_morefontcolors
atto_wiris
tiny_wiris
tool_userdebug
local_deleteoldquizattempts
local_mailtest
Install moosh
Then create a bash shell script that will loop through the addons.txt file
and use moosh to check moodle.org plugins.
checkaddons script
while read i
do
echo 'Shortname of plugin:'$i;
moosh -n plugin-list |grep $i
done < ./addons.txt
run the script: source ./checkaddons
Output:
Shortname of plugin:mod_googlemeet
mod_googlemeet,3.10,3.11,3.7,3.8,3.9,4.0,4.1,4.2,https://moodle.org/plugins/download.php/29096/mod_googlemeet_moodle42_2023050101.zip
Shortname of plugin:mod_hvp
mod_hvp,2.5,2.6,2.7,2.8,2.9,3.0,3.1,3.10,3.11,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9,4.0,4.1,4.2,4.3,https://moodle.org/plugins/download.php/30739/mod_hvp_moodle43_2023122500.zip
Shortname of plugin:mod_offlinequiz
mod_offlinequiz,2.6,2.7,2.8,3.1,3.10,3.11,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9,4.0,4.2,4.3,https://moodle.org/plugins/download.php/31235/mod_offlinequiz_moodle43_2024012200.zip
Shortname of plugin:offlinequiz_correct
Shortname of plugin:offlinequiz_overview
Shortname of plugin:offlinequiz_regrade
Shortname of plugin:offlinequiz_rimport
Shortname of plugin:offlinequiz_statistics
Shortname of plugin:block_quickmail
block_quickmail,2.0,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3.0,3.1,3.2,3.3,3.4,3.5,3.7,3.8,3.9,4.1,4.2,https://moodle.org/plugins/download.php/29700/block_quickmail_moodle42_2023070700.zip
block_quickmailsms,2.3,https://moodle.org/plugins/download.php/1563/block_quickmailsms_moodle23_201210081202.zip
Shortname of plugin:qtype_wq
qtype_wq,3.0,3.1,3.10,3.11,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9,4.0,4.1,4.2,4.3,https://moodle.org/plugins/download.php/30990/qtype_wq_moodle43_2024010801.zip
Shortname of plugin:filter_wiris
filter_wiris,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9,3.0,3.10,3.1,3.11,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9,4.0,4.1,4.2,4.3,https://moodle.org/plugins/download.php/30675/filter_wiris_moodle43_2023121300.zip
Shortname of plugin:atto_morefontcolors
atto_morefontcolors,2.7,2.8,2.9,3.0,3.1,3.10,3.11,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9,4.0,4.1,4.2,https://moodle.org/plugins/download.php/24505/atto_morefontcolors_moodle42_2021062100.zip
Shortname of plugin:atto_wiris
atto_wiris,2.7,2.8,2.9,3.0,3.10,3.1,3.11,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9,4.0,4.1,4.2,4.3,https://moodle.org/plugins/download.php/30676/atto_wiris_moodle43_2023121300.zip
Shortname of plugin:tiny_wiris
tiny_wiris,2.4,2.5,2.6,2.7,2.8,2.9,3.0,3.1,3.10,3.11,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9,4.0,4.1,4.2,4.3,https://moodle.org/plugins/download.php/30678/tiny_wiris_moodle43_2023121300.zip
Shortname of plugin:tool_userdebug
tool_userdebug,3.10,3.11,3.7,3.8,3.9,4.0,4.1,4.2,4.3,https://moodle.org/plugins/download.php/30832/tool_userdebug_moodle43_2024010900.zip
Shortname of plugin:local_deleteoldquizattempts
local_deleteoldquizattempts,2.7,2.8,2.9,3.0,3.1,3.10,3.11,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9,4.0,4.1,4.2,4.3,https://moodle.org/plugins/download.php/30851/local_deleteoldquizattempts_moodle43_2024011400.zip
Shortname of plugin:local_mailtest
local_mailtest,2.4,2.5,2.6,2.7,2.8,2.9,3.0,3.1,3.10,3.11,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9,4.0,4.1,4.2,4.3,https://moodle.org/plugins/download.php/31219/local_mailtest_moodle43_2024022200.zip
The urls to the listing shows highest version and the link to the plugin .zip file
for that highest version of the plugin. If we are trying to upgrade from 4.1 to anything higher like 4.2 or 4.3 any plugin you have that isn't compat with those higher versions could be a problem. Example: the first mod for google meet shows up to 4.2. If I take this site to 4.3 that mod may not function and/or could be a cause for upgrade failure.
Note: a lot of times (been my experience) addons can work when core is one higher version upwards without issues - if you are lucky!
Comment: the good thing about moodle is that you can install addons! the bad thing about moodle is that you can install addons!
'SoS', Ken
Works in 4.1 but can't upgrade because upgrade.php cli script goes to white screen immediately has nothing to do with how code was acquired ... the DB user privlieges do, however.
So, Emma .. what are the grants on the DB user in the config.php file of the site?
If root user is allowed remote access, could add 2 lines in config that change the user to root with root password and then run the upgrade.php script.
My 2 cents more!
'SoS', Ken
I just decided to try with a new config file - that allowed the site installer to load (progress!!) - I got to the lang page (the page after entering db details) and it whitescreened there...but just to reiterate that the site connects to the db just fine with 4.1...
Is it worth swapping out the source code and just having the Moodle 4.3 source code, just so we can exclude the 56 additional plugins in one go?
Also is it worth putting in bad credentials for the database (for example, $CFG->dbpass = 'badpassword'
) and see if there's an error message? If so we'll know it's getting as far as making a connection attempt to the database.
If the database is remote how is $CFG->dbhost
specified, IP address or DNS name? Depending on which it is, is it possible to try the other?
Before upgrading, force the site to use boost via config.php line and add debugging lines to config.php as well.
Sadly, there is no checker for plugin compatibility. That's why I use my little bash shell script in checking versions of all installed addons prior to upgrades. If I see one that shows there is not a version for destination, I'll still try it, but that plugin is the first one I'd hide/remove.
LIke I said before ... a good thing about moodle is that it has plugins .... the bad thing about moodle is the same thing ... it has plugins!
But again ... congrats!
'SoS', Ken
Another thing that happened to me is that if I made PHP 8.0.8 the topmost choice, MAMP 6.9 crashed on my Mac. 8.0.8 could be the second choice, but not the first.