[Rev 4201] blank page when trying to install/update database schema
-
@Stefan-Kaegi said:
rc php5-mysql 5.4.39-0+deb7u2 ....
Seams like you still have old stuff sitting there. ‘r’ means marked for remove and ‘c’ means config-files are still installed. Run
sudo apt-get purge php5-mysql
to make sure this is not getting in your way. Probably best to restart the server to make sure no one is using the old configs anymore.Are you still stuck with the database schema updater. Could you please check your apache error log again while accessing the web interface and running the schema updater.
-
I removed php5-mysql and restarted the server. But I still get the blang page. Yes, im still stuck at the database schema updater.
I attached my apache error log file (last 100 lines) while accessing the web interface.
error.log
I get this error every second. Even when i don’t access the webinterface. My current error.log file is 514M at the moment. The previous one is 787M. The ones before are arounc 1-15K. -
You see so many errors because your clients also access the web pages to get information. Error is a bit confusing as FOGCore.class.php does not even have 300 lines of code (http://sourceforge.net/p/freeghost/code/HEAD/tree/trunk/packages/web/lib/fog/FOGCore.class.php)!
PHP Fatal error: Call to a member function query() on null in /var/www/html/fog/lib/fog/FOGCore.class.php on line 310
Maybe have a look at that file on your server and tell us what’s in line 310 or better try updating again. Are you sure you do checkout/update the full source code when running an update??
svn checkout https://svn.code.sf.net/p/freeghost/code/trunk cd trunk/bin sudo ./installfog.sh
-
@Stefan-Kaegi Seams like I was wrong with the mysql package for debian. Please install php5-mysql (which will uninstall php5-mysqlnd instead) by
sudo apt-get install php5-mysql
I hope this will solve the ‘query() on null’ error for you!
-
@Stefan-Kaegi said:
When I run ‘./installfog.sh’ everything looks ok. But when I try to update the database schema via ’http://172.30.40.25/fog/management’ I only see a blank page. I tried to skip the database update and finish the installation. But all i can see now when going to ’http://172.30.40.25/fog’ or ’http://172.30.40.25/fog/management’ is a blank page. Hard refreshing the page didn’t help.
I believe i figured out the issue, as well as the error you were seeing from FOGCore.
Query was null because the link was not connected due to the load issues we’ve been trying to fight lately
I believe I finally got to the bottom of it.
-
@Tom-Elliott Could be related to load but in this case I am fairly sure that
query() on null
is coming from mysqli class not being available. I just had that on one of my test debian systems when playing with the different php mysql packages. Seams likephp5-mysqlnd
from dotdeb is not properly configured to offer mysqli as it is used in FOG. Maybe it’s just a php.ini thing, I am not sure.
Exchanging php5-mysqlnd with php5-mysql solved that for me! -
Hi
i have tried to fix this using this command but no joy
sudo apt-get install php5-mysql .
i still am getting a blank page. I am using the svn
13 2015] [notice] Apache/2.2.22 (Debian) mod_ssl/2.2.22 OpenSSL/1.0.1e configured – resuming normal operations
[Thu Oct 29 10:33:52 2015] [error] [client ::1] PHP Warning: mysqli::query() expects parameter 2 to be long, string given in /var/www/html/fog/lib/db/MySQL.class.php on line 63
[Thu Oct 29 10:33:52 2015] [error] [client ::1] PHP Warning: mysqli::query() expects parameter 2 to be long, string given in /var/www/html/fog/lib/db/MySQL.class.php on line 63
[Thu Oct 29 10:33:52 2015] [error] [client ::1] PHP Fatal error: Call to a member function query() on null in /var/www/html/fog/lib/fog/FOGCore.class.php on line 276
[Thu Oct 29 10:33:52 2015] [error] [client ::1] File does not exist: /var/www/favicon.ico -
Please update to trunk and try again. Those lines of code do not match with what I see in the code. Very hard to find an issue then. Update can be done as you described earlier in this thread.
-
I installed php5-mysql (and removed php5-mysqlnd) , updated trunk as you described and run the installfog.sh again. But I still get the blank page. It seems like installfog.sh installs php5-mysqlnd again:
... * Installing package: php5-mysqlnd............................OK ...
It doesn’t work either when I try to install php5-mysql after the installation again.
My apache error log file stills looks the same. -
Here is my FOGCore.class.php file:
FOGCore.class.php -
Thanks for uploading FOGCore.class.php. But without knowing the exact line number where the error happened I am unable to help you. I am very sorry for all this messages forth an back without getting anywhere yet. But we need full information to be able to help you. Line number (error log) and code (either upload or tell us the exact revision number).
I tried to reproduce this but I can’t unfortunately!! Installed php5-mysqlnd (which removed php5-mysql) and it is still working for me here. I wish I would have payed more attention on why it didn’t work for me in the first place but I guess it was just too late at night.
-
@irishfoguser it appears you are not updating. I state this because ‘PHP Warning: mysqli::query() expects parameter 2 to be long, string given’ will only occur in async mysqli calls specifically from the poll method. I have moved away from async calls.
How exactly are you updating and reinstalling? My guess is you are in bin which will not update all of the files. If svn is downloaded to /root under folder trunk, you must be in /root/trunk not /root/trunk/bin.
-
I udpated again today. So now I’m on Rev 4244.
Apache error.log: error.log
FOGCore.class.php: FOGCore.class.php -
Thanks for the information. This definitely seams like an un-initialized DB object. I am kind of new in the Developers Team and still catching up with all the details. Didn’t know about debugging needs to be switched on to see possible errors when loading the MySQL library. Would you please edit your /var/www/html/fog/lib/fog/FOGBase.class.php (change
false
totrue
<?php abstract class FOGBase { protected $debug = true; ...
Then reload the page and see what you get.
-
@Stefan-Kaegi This isn’t possible. Are you really sure you’re updated?
I ask because you report the Rev number, but what is the version in your cloud?
-
That’s how I update:
cd /root/ svn checkout https://svn.code.sf.net/p/freeghost/code/trunk cd trunk/bin/ ./installfog.sh
How can I see which version my cloud has?
I updated today to Rev 4270. Seems like I have a new problem now. The Fog Installer stops at the following point:.... * Enabling apache and fpm services on boot....................OK * Creating SSL Certificate....................................OK * Creating auth pub key and cert..............................OK * Resetting SSL Permissions...................................OK * Setting up SSL FOG Server...................................OK * Restarting Apache2 for fog vhost............................OK * Changing permissions on apache log files....................OK * Backing up database.........................................Failed!
I added the line ‘protected $debug = true;’ to my FOGBase.class.php in section ‘abstract class FOGBase’
Now my Apache error log shows:[Mon Nov 02 09:46:50 2015] [error] [client 172.30.34.61] PHP Fatal error: Cannot redeclare FOGBase::$debug in /var/www/html/fog/lib/fog/FOGBase.class.php on line 5 [Mon Nov 02 09:46:50 2015] [error] [client 172.20.60.31] PHP Fatal error: Cannot redeclare FOGBase::$debug in /var/www/html/fog/lib/fog/FOGBase.class.php on line 5 [Mon Nov 02 09:46:50 2015] [error] [client 172.20.60.31] PHP Fatal error: Cannot redeclare FOGBase::$debug in /var/www/html/fog/lib/fog/FOGBase.class.php on line 5
Line 5 is where i added the line.
-
My changed FOGBase.class.php file:
FOGBase.class.php -
@Stefan-Kaegi said:
I added the line ‘protected $debug = true;’ to my FOGBase.class.php in section ‘abstract class FOGBase’
PHP is not happy if you add another variable with the same name. Just change the value from ‘false’ to ‘true’. Don’t worry about it being ‘public’ or ‘protected’. This was changed by Tom at some point. Just change its value and see what you get.
-
I changed FOGBase.class.php as you described. Here is my Apache Error Log as it looks now:
error.log -
If something goes wrong with the database connection you should be seeing this on the web interface (top left). Like this: