[Rev 4201] blank page when trying to install/update database schema


  • Developer

    I am kind of lost with this. Apache error log tells us that it cannot issue a query from a null object which means that the DB object is not properly initialized. But why don’t you see any errors from the inizialisation code?? @Tom-Elliott Any ideas?

    The “Backing up database” issue should be solved as far as I know. Please update and try again. After running the installer your changes in /var/www/html/fog/lib/fog/FOGBase.class.php will be lost. You might want to enable debug again and see what you get.



  • I don’t see anything on the webinterface. Still a blank page.


  • Developer

    If something goes wrong with the database connection you should be seeing this on the web interface (top left). Like this:
    debug_output.png



  • I changed FOGBase.class.php as you described. Here is my Apache Error Log as it looks now:
    error.log


  • Developer

    @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.



  • My changed FOGBase.class.php file:
    FOGBase.class.php



  • 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.


  • Senior Developer

    @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?


  • Developer

    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 to true):

    <?php
    abstract class FOGBase {
        protected $debug = true;
    ...
    

    Then reload the page and see what you get.



  • I udpated again today. So now I’m on Rev 4244.
    Apache error.log: error.log
    FOGCore.class.php: FOGCore.class.php


  • Senior Developer

    @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.


  • Developer

    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.



  • Here is my FOGCore.class.php file:
    FOGCore.class.php



  • 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.


  • Developer

    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.



  • 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


  • Developer

    @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 like php5-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!


  • Senior Developer

    @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.


  • Developer

    @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!


  • Developer

    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
    

Log in to reply
 

505
Online

6.3k
Users

13.7k
Topics

129.2k
Posts