Jump to content
  • 0

White Screen at Install


rebus9

Question

Unable to get Blesta to config.  Running through the web installer for the app, all I get is a blank white screen after entering in the info requested and clicking the Start Install button.

Environment is Windows Server 2012 R2
    PHP 7.1 
    MySQL 5.5

IonCube Loader for 7.1 (Windows VC14 Non-TS 64 bit from here: https://www.ioncube.com/loaders.php )
    Modified php.ini for the DLL per instructions (zend_extension = "C:\Program Files\PHP\v7.1\ext\\ioncube_loader_win_7.1.dll") is at top of .ini.

phpinfo() shows:
    API Extensions:  mysqli.pdo_mysql
    PDO drivers:  mysql, sqlite
    cUURL Support:  enabled
    cURL Information:  7.54.1
    OpenSSL Support:  enabled
    OpenSSL Library Version:  OpenSSL/1.0.2k 
  
Used PHPmyAdmin to create a Blesta database in MySQL and created a user with full permissions on it.

Everything seems to meet the minimum requirements.  

Deleted all Blesta files and replaced with a fresh copy from the ZIP downloaded from Blesta for eval.  Same results.

Some DATABASE tables appear to have been created, from "accounts_ach" thru "log_account_access" (alphabetical order)... so at least SOME of the install routines fired off.

Advice, next steps?

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0
15 minutes ago, rebus9 said:

Unable to get Blesta to config.  Running through the web installer for the app, all I get is a blank white screen after entering in the info requested and clicking the Start Install button.

Environment is Windows Server 2012 R2
    PHP 7.1 
    MySQL 5.5

IonCube Loader for 7.1 (Windows VC14 Non-TS 64 bit from here: https://www.ioncube.com/loaders.php )
    Modified php.ini for the DLL per instructions (zend_extension = "C:\Program Files\PHP\v7.1\ext\\ioncube_loader_win_7.1.dll") is at top of .ini.

phpinfo() shows:
    API Extensions:  mysqli.pdo_mysql
    PDO drivers:  mysql, sqlite
    cUURL Support:  enabled
    cURL Information:  7.54.1
    OpenSSL Support:  enabled
    OpenSSL Library Version:  OpenSSL/1.0.2k 
  
Used PHPmyAdmin to create a Blesta database in MySQL and created a user with full permissions on it.

Everything seems to meet the minimum requirements.  

Deleted all Blesta files and replaced with a fresh copy from the ZIP downloaded from Blesta for eval.  Same results.

Some DATABASE tables appear to have been created, from "accounts_ach" thru "log_account_access" (alphabetical order)... so at least SOME of the install routines fired off.

Advice, next steps?

did you apply the patch for php 7.1 in the install files? as the white screen is likely ioncube stating to you php 5.6 encoded files doesn't work on php 7.1.

as I run my dev instance off IIS on 2012R2 so I know the tricks of how you have to configure IIS to make it work with blesta.

Link to comment
Share on other sites

  • 0

Just to confirm, since you're running php 7.1, you did update the files in your installation with the files in /hotfix-php71/ of the ZIP, correct?

Since the database tables were partially constructed, I wonder if there may be a table-creation query that your version of MySQL doesn't like, or if your web server timed out before it could process the entire request. You can try dropping all tables from the database that it did create and attempt to run the install again via CLI.

You can also check your php error logs for any errors that may have been encountered.

Link to comment
Share on other sites

  • 0

Most likely there is a MySQL error running the database migrations. Check that only_full_group_by is not enabled. I know you aren't running MySQL 5.7, but if this is enabled in 5.5 it would still be an issue.

From https://docs.blesta.com/display/user/Requirements

Quote

MySQL changed the default behavior in version 5.7.5 to enable "only_full_group_by". If you are using a version newer than that, or if you had changed your MySQL configuration file to enable "only_full_group_by", you will need to remove it. You should update your MySQL configuration file to disable "sql_mode", i.e., don't have it set to "only_full_group_by". You can run the following query to determine what the sql_mode is: SELECT @@GLOBAL.sql_mode, @@SESSION.sql_mode;

If you have php error logs, those may be helpful also.

Link to comment
Share on other sites

  • 0
4 minutes ago, timnboys said:

did you apply the patch for php 7.1 in the install files? as the white screen is likely ioncube stating to you php 5.6 encoded files doesn't work on php 7.1.

as I run my dev instance off IIS on 2012R2 so I know the tricks of how you have to configure IIS to make it work with blesta.

Yes-- I absolutely copied the files from "hotfix-php71" into the Blesta install BEFORE kicking off the configuration.

Link to comment
Share on other sites

  • 0
9 minutes ago, Paul said:

Check that only_full_group_by is not enabled. I know you aren't running MySQL 5.7, but if this is enabled in 5.5 it would still be an issue.

From https://docs.blesta.com/display/user/Requirements

The Blesta installer resets the sql_mode to TRADITIONAL automatically, so I wouldn't expect that to be an issue whether it's enabled in MySQL or not.

Link to comment
Share on other sites

  • 0
24 minutes ago, Paul said:

Most likely there is a MySQL error running the database migrations. Check that only_full_group_by is not enabled. I know you aren't running MySQL 5.7, but if this is enabled in 5.5 it would still be an issue.

From https://docs.blesta.com/display/user/Requirements

If you have php error logs, those may be helpful also.

 

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysql -u blesta -p -e "SELECT @@GLOBAL.sql_mode, @@SESSION.sql_mode;"

+----------------------------------------------------------------+----------------------------------------------------------------+
| @@GLOBAL.sql_mode                                              | @@SESSION.sql_mode                                             |
+----------------------------------------------------------------+----------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+----------------------------------------------------------------+


And in the PHP error logs:

A LOT of these:
-------------------------------
PHP Warning:  A non-numeric value encountered in C:\Blesta\public_html\iC_Loader_Install_1518794082\php_script.php on line 459


Followed by:
-------------------------------
Use of undefined constant LOADER_PHP_VERSION_URL - assumed 'LOADER_PHP_VERSION_URL' in C:\Blesta\public_html\iC_Loader_Install_1518794082\php_script.php on line 223

PHP Notice:  Undefined variable: is_too_recent_php in C:\Blesta\public_html\iC_Loader_Install_1518794082\php_script.php on line 256
PHP Notice:  Undefined index: oscode in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3567
PHP Notice:  Undefined index: arch in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3568
PHP Notice:  Undefined index: wordsize in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3569
PHP Notice:  Undefined index: php_version in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3570
PHP Notice:  Undefined index: thread_safe in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3571
PHP Notice:  Undefined index: compiler in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3572
PHP Notice:  Undefined index: oscode in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3567
PHP Notice:  Undefined index: arch in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3568
PHP Notice:  Undefined index: wordsize in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3569
PHP Notice:  Undefined index: php_version in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3570
PHP Notice:  Undefined index: thread_safe in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3571
PHP Notice:  Undefined index: compiler in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3572
PHP Warning:  require(C:\Blesta\public_html\config\services.php): failed to open stream: No such file or directory in C:\Blesta\public_html\lib\init.php on line 10
PHP Warning:  require(C:\Blesta\public_html\config\services.php): failed to open stream: No such file or directory in C:\Blesta\public_html\lib\init.php on line 10
PHP Fatal error:  require(): Failed opening required 'C:\Blesta\public_html\config\services.php' (include_path='.;C:\php\pear') in C:\Blesta\public_html\lib\init.php on line 10
PHP Warning:  require(C:\Blesta\public_html\config\services.php): failed to open stream: No such file or directory in C:\Blesta\public_html\lib\init.php on line 10
PHP Warning:  require(C:\Blesta\public_html\config\services.php): failed to open stream: No such file or directory in C:\Blesta\public_html\lib\init.php on line 10
PHP Fatal error:  require(): Failed opening required 'C:\Blesta\public_html\config\services.php' (include_path='.;C:\php\pear') in C:\Blesta\public_html\lib\init.php on line 10


I believe the warning about Pear is related to me adding the DLL for mailparse... but since I don't want Blesta to RECEIVE emails (only SEND them to customers) can I leave out mailparse?

NOTE:   Using PHP  Thread-Safe  was recommended AGAINST in WIndows.... (noticed threadsafe mentioned in the error log above)... and is DISABLED in my install.

 

Link to comment
Share on other sites

  • 0
19 minutes ago, rebus9 said:

 

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysql -u blesta -p -e "SELECT @@GLOBAL.sql_mode, @@SESSION.sql_mode;"


+----------------------------------------------------------------+----------------------------------------------------------------+
| @@GLOBAL.sql_mode                                              | @@SESSION.sql_mode                                             |
+----------------------------------------------------------------+----------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+----------------------------------------------------------------+


And in the PHP error logs:


A LOT of these:
-------------------------------
PHP Warning:  A non-numeric value encountered in C:\Blesta\public_html\iC_Loader_Install_1518794082\php_script.php on line 459


Followed by:
-------------------------------
Use of undefined constant LOADER_PHP_VERSION_URL - assumed 'LOADER_PHP_VERSION_URL' in C:\Blesta\public_html\iC_Loader_Install_1518794082\php_script.php on line 223

PHP Notice:  Undefined variable: is_too_recent_php in C:\Blesta\public_html\iC_Loader_Install_1518794082\php_script.php on line 256
PHP Notice:  Undefined index: oscode in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3567
PHP Notice:  Undefined index: arch in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3568
PHP Notice:  Undefined index: wordsize in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3569
PHP Notice:  Undefined index: php_version in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3570
PHP Notice:  Undefined index: thread_safe in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3571
PHP Notice:  Undefined index: compiler in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3572
PHP Notice:  Undefined index: oscode in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3567
PHP Notice:  Undefined index: arch in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3568
PHP Notice:  Undefined index: wordsize in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3569
PHP Notice:  Undefined index: php_version in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3570
PHP Notice:  Undefined index: thread_safe in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3571
PHP Notice:  Undefined index: compiler in C:\Blesta\public_html\ioncube\loader-wizard.php on line 3572
PHP Warning:  require(C:\Blesta\public_html\config\services.php): failed to open stream: No such file or directory in C:\Blesta\public_html\lib\init.php on line 10
PHP Warning:  require(C:\Blesta\public_html\config\services.php): failed to open stream: No such file or directory in C:\Blesta\public_html\lib\init.php on line 10
PHP Fatal error:  require(): Failed opening required 'C:\Blesta\public_html\config\services.php' (include_path='.;C:\php\pear') in C:\Blesta\public_html\lib\init.php on line 10
PHP Warning:  require(C:\Blesta\public_html\config\services.php): failed to open stream: No such file or directory in C:\Blesta\public_html\lib\init.php on line 10
PHP Warning:  require(C:\Blesta\public_html\config\services.php): failed to open stream: No such file or directory in C:\Blesta\public_html\lib\init.php on line 10
PHP Fatal error:  require(): Failed opening required 'C:\Blesta\public_html\config\services.php' (include_path='.;C:\php\pear') in C:\Blesta\public_html\lib\init.php on line 10


I believe the warning about Pear is related to me adding the DLL for mailparse... but since I don't want Blesta to RECEIVE emails (only SEND them to customers) can I leave out mailparse?

NOTE:   Using PHP  Thread-Safe  was recommended AGAINST in WIndows.... (noticed threadsafe mentioned in the error log above)... and is DISABLED in my install.

 

Does this file exist? C:\Blesta\public_html\config\services.php

You don't need mailparse unless Blesta will be importing emails into tickets. Outgoing emails will work fine without it.

Link to comment
Share on other sites

  • 0
6 minutes ago, Paul said:

Does this file exist? C:\Blesta\public_html\config\services.php

You don't need mailparse unless Blesta will be importing emails into tickets. Outgoing emails will work fine without it.

Yes,  config\services.php exists.  Here's the contents:
 

<?php

return [
    'Blesta\\Core\\ServiceProviders\\Logger',
    'Blesta\\Core\\ServiceProviders\\MinphpBridge',
    'Blesta\\Core\\ServiceProviders\\Pagination',
    'Blesta\\Core\\ServiceProviders\\Pricing'
];


OK about mailparse.  I'll get rid of the DLL since we won't be using the ticket system.
 

Link to comment
Share on other sites

  • 0

While Blesta should disable STRICT_TRANS_TABLES, try disabling it in your MySQL config my.ini on Windows

sql_mode=""

Restart MySQL, and then check again as you did previously: mysql -u blesta -p -e "SELECT @@GLOBAL.sql_mode, @@SESSION.sql_mode;"

Do you see any other errors in the logs at the time the white screen of death is presented?

Link to comment
Share on other sites

  • 0
2 minutes ago, Paul said:

While Blesta should disable STRICT_TRANS_TABLES, try disabling it in your MySQL config my.ini on Windows

sql_mode=""

Restart MySQL, and then check again as you did previously: mysql -u blesta -p -e "SELECT @@GLOBAL.sql_mode, @@SESSION.sql_mode;"

Do you see any other errors in the logs at the time the white screen of death is presented?

No other entries in the PHP error log since the white screen of death.

Here's what is in the my.ini file right now:

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Should I turn the entire thing to an emptry strink like this:   sql-mode=""

or just take out STRICT_TRANS_TABLES and leave the rest in there: sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTUTION" ?
 

Link to comment
Share on other sites

  • 0
11 minutes ago, rebus9 said:

No other entries in the PHP error log since the white screen of death.

Here's what is in the my.ini file right now:


# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Should I turn the entire thing to an emptry strink like this:   sql-mode=""

or just take out STRICT_TRANS_TABLES and leave the rest in there: sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTUTION" ?
 

Yes, take all of that out and set it to blank: sql-mode="" Don't forget to restart MySQL.

Then give it another try. If it still doesn't work, I'm not sure and I'd be happy to do an install and send you a working database you can try to import. The only other thing is that there could be an issue during RSA key generation.. check that you have bcmath and gmp extensions in your PHP.

Link to comment
Share on other sites

  • 0
14 minutes ago, Paul said:

Yes, take all of that out and set it to blank: sql-mode=""

Then give it another try. If it still doesn't work, I'm not sure and I'd be happy to do an install and send you a working database you can try to import. The only other thing is that there could be an issue during RSA key generation.. check that you have bcmath and gmp extensions in your PHP.

Ok, sql-mode="" has been set.

I deleted all Blesta files and the Blesta database and started fresh with new files, plus the 7.1 hotfix.

Both the IIS DefaultAppPool user and the "Everyone" group are set to Full Control (while this problem is being worked on) on both the Config and Cache directories.

Created a new database, then Launched the Blesta installer again.

Got the following message (see screenshot).  

So I'm not immediately understanding why the installer seems to be unable to write to it.

There is nothing new at all written to the PHP error log.

 

screenshot.jpg

Link to comment
Share on other sites

  • 0

Another update. 

Started again, fresh.... but this time I used the command line instead of web.

Errored out at the same step:  

Attempting to write config... Ensure that the file (C:\Blesta\public_html\config\blesta-new.php) is writable.
Press any key to retry.

I triple-checked that the config directory has write/modify permissions for the Everyone group, the AppPool user, and IUSR.  

Can you think of any reason the installer shouldn't be able to write to that file?

Link to comment
Share on other sites

  • 0
11 minutes ago, rebus9 said:

Another update. 

Started again, fresh.... but this time I used the command line instead of web.

Errored out at the same step:  


Attempting to write config... Ensure that the file (C:\Blesta\public_html\config\blesta-new.php) is writable.
Press any key to retry.

I triple-checked that the config directory has write/modify permissions for the Everyone group, the AppPool user, and IUSR.  

Can you think of any reason the installer shouldn't be able to write to that file?

The installer uses blesta-new.php as a template and writes blesta.php into the ~/config/ directory. The /config/ directory must also be writable, not just blesta-new.php, so that blesta.php can be created.

Depending which user your web server runs as, you could probably install Blesta as Administrator via CLI: php index.php install

If you have higher privileges, it may not encounter this issue.

Also, just to add.. you must drop all tables before re-attempting the install.

Link to comment
Share on other sites

  • 0
Just now, Paul said:

The installer uses blesta-new.php as a template and writes blesta.php into the ~/config/ directory. The /config/ directory must also be writable, not just blesta-new.php, so that blesta.php can be created.

Depending which user your web server runs as, you could probably install Blesta as Administrator via CLI: php index.php install

If you have higher privileges, it may not encounter this issue.

I'm doing all this while logged on to the server console as the Administrator.  I also did the CLI option-- see my last post.

The entire /config  and  /cache directories (not just individual files) all have Write/Modify control for the AppPool user, IUSR, and even the Everyone group.

This has to be something simple.... because the CLI is hanging on the same error  (see my last post above).

Link to comment
Share on other sites

  • 0

If the only issue at this point is writing the config and finishing the install I'll do a quick install and send you the config + database dump, and we'll see if you can login ok. Doing an install now and I'll email or PM you soon. I'm not as concerned if there's just some kind of permissions issue here.

Link to comment
Share on other sites

  • 0
7 minutes ago, Paul said:

If the only issue at this point is writing the config and finishing the install I'll do a quick install and send you the config + database dump, and we'll see if you can login ok. Doing an install now and I'll email or PM you soon. I'm not as concerned if there's just some kind of permissions issue here.

Ok, and just to be sure, this is running under IIS 8.5 on Server 2012 R2.  Not linux.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...