SuiteCRM 8 Beta - Install Questions

Hi @rwebb616,

I think I found the root cause. Please look at the comments on the following threads:

It is the # sign that is not recognized by PHP’s parse_url() function as valid, this issue is not related to Symfony, but to Doctrine DBAL

Think it could be because you have a # (or some special character?) on your password. Seems an issue with Doctrine DBAL. Do you have a # on your password?

During the install process, I think we need to encode the password, when adding to DATABASE_URL .

I’m going to raise this internally

Hi @broms,

Sorry for the delay in replying.

I’m not 100% sure on it yet, though I have a feeling that your issue with not being able to login, may be related with the following thread. Could you, please, try installing a providing a password without any special characters? (I’m guessing that # and % may cause problems).

As mentioned on the thread, I’ve raised this internally .

Hi @clemente.raposo,

I am using IIS and PHP 8, do you have any suggestions to fix performance issue ?

Thanks,
Milan

Yes, I do have a # sign in my password - so should I change the password? It’s the same password on a version 7 install and works so I take it this is because you’re using a different framework for v8?

Rich

Hi @rwebb616,

  1. In order to keep your password you can url encode the #. Try replacing the # with %23 in DATABASE_URL on .env.local.
  • Notes:
    • other special characters may also need to be encoded.
    • I didn’t try it yet, on the github issues I’ve linked before some people where still having issues with %23. So I’m not 100% on this
  1. The alternative is to use a simple password for the moment, until we change the install command to auto encode the password for you (i.e. to do the same that was explained in 1) )

Hi @milanraval,

I’ll need to investigate a bit on this.

I’ve found some stackoverflow threads about performance with windows + php + symfony. Though I still need to have a better look at it. It seems that symfony can be slower on windows. Adding them here in case they help.

1 Like

Yes, this was it - I was able to get a login screen. Thank you for your help!

hey, sorry for delayed reply. I tried removing the previous install, dropping the DB and re-installing everything. Still getting the same error. This time I used the command-line options so I know there’s no typo in the password:

./bin/console suitecrm:app:install -u “admin” -p “test” -U “my-db-user” -P “my-db-password” -H “localhost” -N “suitecrm8beta” -S “http://myurl/suitecrm8” -d “no”

If I understand, I should be able to login with username: admin and password: test. But I’m getting the login credentials incorrect error.

Everything else with the install script seems to have worked–the login page loads at the URL and the database tables were created and there’s a row for my admin user in the users table.

Seeing this in ./logs/prod/prod.log:

[2021-08-04 15:12:16] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\DriverException: "An exception occurred in driver: could not find driver" at /srv/http/suitecrm8/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 128 {"exception":"[object] (Doctrine\\DBAL\\Exception\\DriverException(code: 0): An exception occurred in driver: could not find driver at /srv/http/suitecrm8/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:128, Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 0): could not find driver at /srv/http/suitecrm8/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18, PDOException(code: 0): could not find driver at /srv/http/suitecrm8/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:39)"} []

Any ideas how to resolve? Running php 7.3.29-1, apache 2.4.48-1, mariadb 10.5.11-1

Hi @broms,

Thank you for the feedback. Those logs help a lot.

Could you check if you have the pdo_mysql php extension installed, please? From the logs that seems to be the problem.

You can run php -m to check the extensions.

Extra notes

At first it seemed strange how you were able to run the command and install.
Though it now makes a bit more sense.

The install process calls legacy. Legacy only depends on the mysqli extension.

Now, the login, goes through Suite 8 side, and suite 8 uses symfony and doctrine which required the pdo_mysql extension.

@samus-aran, we should probably add a clear list of the php module dependencies to the Compatibility matrix or to the Installation guide on docs.

Nailed it. Uncommenting the extension=pdo_mysql line in php.ini resolves login problem. Thanks a bunch for helping me get up and running!

Alrighty! I’ve created an issue on SuiteDocs GitHub for this. https://github.com/salesagility/SuiteDocs/issues/526

1 Like

Hi there,

I’m having issues getting the new interface up and running.
I’ve been able to install via the CLI and can login using the Legacy URL, (http://localhost/legacy/index.php?action=Login&module=Users), however the new login page just keeps on telling me that the username and password are incorrect. The console logs a polyfills-es2015.af170ffe981b0ba2d77d.js:118 POST http://localhost/login 500 (Internal Server Error).
In the logs I also get:
request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionException: "An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory" at /var/www/html/SuiteCRM/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 112 {"exception":"[object] (Doctrine\\DBAL\\Exception\\ConnectionException(code: 0): An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory at /var/www/html/SuiteCRM/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:112, Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 2002): SQLSTATE[HY000] [2002] No such file or directory at /var/www/html/SuiteCRM/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18, PDOException(code: 2002): SQLSTATE[HY000] [2002] No such file or directory at /var/www/html/SuiteCRM/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:39)"} []
I’ve confirmed that pdo_mysql is installed and is running, I’ve also checked to ensure that rewrites is enabled. I just cant see what I’m doing wrong :frowning:
Running Apache2 with PHP8 on Ubuntu (latest) inside of Docker/Docker-Compose.
Cheers!

Hi @jont_titmus,

Welcome to the community :wave: and thanks for trying out SuiteCRM 8 beta.

Also, thanks for posting the logs, thats helpful.

Could you check if you have mysqli extension installed, please? From the logs it seems like it could be it.

Hope this helps

Hey @clemente.raposo,

Thanks! And thanks for the swift reply :slight_smile:

Yes, mysqli is installed and running:
php -m
[PHP Modules]
calendar
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gettext
hash
iconv
intl
json
libxml
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

Hi @jont_titmus,

Thanks for the feedback.

Was looking into this issue.

Found some threads, talking about this issue. More on this

https://github.com/maxpou/docker-symfony/issues/72#issuecomment-363049962

My guess at the moment is that it could be docker config related issue. I Imagine you have your db setup on a separate service of docker compose, something like:

db:
    image: mysql
    ports:
    - "3306:3306"
    environment:
        ...

if so, on the db url are you using localhost / 127.0.0.1 for the server address? Could you try using the name of your docker database service, on the above example is db. You can change this on .env.local file that should have been generated on install.

Hey @clemente.raposo,

This is my docker config for mysql:
mysql_crm:
image: mariadb:10.4
ports:
- “3306:3306”
environment:
- MYSQL_ROOT_PASSWORD=suitecrm
- MYSQL_USER=suitecrm
- MYSQL_PASSWORD=suitecrm
- MYSQL_DATABASE=suitecrm
volumes:
- ./docker/config/mysql:/etc/mysql/conf.d
- ./docker/data/mysql:/var/lib/mysql
networks:
- suitecrm_net

And this is the DB config in .env.local:
DATABASE_URL=“mysql://suitecrm:suitecrm@mysql_crm:3306/suitecrm”

Hey @jont_titmus,

From what I’m able to understand the error is usually thrown when doctrine tries to do the connection using socket. However, your config seems ok, and doctrine should not be trying to do that.

some more helpful link on this

Just to make sure, could you double check the following, please?

  • check if .env.local has the correct permissions set, and that apache is able to read it
  • check if you don’t have any other file that could being read like .env.local.php (probably you don’t, but just to make sure.)

Bit of an update - still not cracked this.
Have checked permissions, (but running under docker there isn’t really much to do there).
I have found this in the network responses since downgrading PHP to 7.4, I guess line 10 is the most interesting:

  1. ERROR_JS_ALERT_SYSTEM_CLASS: “System”
  2. ERROR_JS_ALERT_TIMEOUT_MSG_1: “Your session is about to timeout in 2 minutes. Please save your work.”
  3. ERROR_JS_ALERT_TIMEOUT_MSG_2: “Your session has timed out.”
  4. ERROR_JS_ALERT_TIMEOUT_TITLE: “Session Timeout”
  5. ERROR_MISSING_COLLECTION_SELECTION: “Empty required field”
  6. ERROR_NOTIFY_OVERRIDE: “Error: ResourceObserver->notify() needs to be overridden.”
  7. ERROR_NO_BEAN: “Failed to get bean.”
  8. ERROR_NO_RECORD: “Error retrieving record. This record may be deleted or you may not be authorized to view it.”
  9. ERROR_TYPE_NOT_VALID: “Error. This type is not valid.”
  10. ERROR_UNABLE_TO_RETRIEVE_DATA: “Error: Unable to retrieve data for {0} Connector. The service may currently be inaccessible or the configuration settings may be invalid. Connector error message: ({1}).”
  11. ERR_ADDRESS_KEY_NOT_SPECIFIED: “Please specify ‘key’ index in displayParams attribute for the Meta-Data definition”
  12. ERR_AJAX_LOAD: “An error has occurred”
  13. ERR_AJAX_LOAD_FAILURE: “There was an error processing your request, please try again at a later time.”
  14. ERR_AJAX_LOAD_FOOTER: “If this error persists, please have your administrator disable Ajax for this module”
  15. ERR_A_REMINDER_IS_EMPTY_OR_INCORRECT: “A reminder is empty or incorrect.”
  16. ERR_BAD_RESPONSE_FROM_SERVER: “Bad response from the server”
  17. ERR_CANNOT_CREATE_METADATA_FILE: “Error: File [[file]] is missing. Unable to create because no corresponding HTML file was found.”
  18. ERR_CANNOT_FIND_MODULE: “Error: Module [module] does not exist.”
  19. ERR_COMPATIBLE_PRECISION_VALUE: “Field value is not compatible with precision value”
  20. ERR_CONNECTOR_FILL_BEANS_SIZE_MISMATCH: “Error: The Array count of the bean parameter does not match the Array count of the results.”
  21. ERR_CONNECTOR_NOT_ARRAY: “connector array in {0} been defined incorrectly or is empty and could not be used.”
  22. ERR_DB_FAIL: “Database failure. Please refer to suitecrm.log for details.”
  23. ERR_DB_VERSION: “SuiteCRM {0} Files May Only Be Used With A SuiteCRM {1} Database.”
  24. ERR_DECIMAL_SEP_EQ_THOUSANDS_SEP: “The decimal separator cannot use the same character as the thousands separator.\n\n Please change the values.”
  25. ERR_DELETE_RECORD: “A record number must be specified to delete the contact.”
  26. ERR_EMPTY_COLUMNS_LIST: “At least, one element required”
  27. ERR_EXISTING_PORTAL_USERNAME: “Error: The Portal Name is already assigned to another contact.”
  28. ERR_EXPORT_DISABLED: “Exports Disabled.”
  29. ERR_EXPORT_TYPE: "Error exporting "
  30. ERR_EXTERNAL_API_SAVE_FAIL: “An error occurred when trying to save to the external account.”
  31. ERR_FACTOR_TPL_INVALID: “Factor Authentication message is invalid, please contact to your administrator.”
  32. ERR_FILE_NOT_FOUND: “Error: Could not load file {0}. Please check system and web server permissions.”
  33. ERR_FILE_WRITE: “Error: Could not write file {0}. Please check system and web server permissions.”
  34. ERR_INVALID_EMAIL_ADDRESS: “not a valid email address.”
  35. ERR_INVALID_FILE_REFERENCE: “Invalid File Reference”
  36. ERR_INVALID_PASSWORD: “You must specify a valid username and password.”
  37. ERR_INVALID_REQUIRED_FIELDS: “Invalid required field”
  38. ERR_INVALID_VALUE: “Invalid Value”
  39. ERR_IP_CHANGE: “Your session was terminated due to a significant change in your IP address”
  40. ERR_MISSING_MAPPING_ENTRY_FORM_MODULE: “Error: Missing mapping entry for module.”
  41. ERR_MISSING_REQUIRED_FIELDS: “Missing required field”
  42. ERR_MONITOR_FILE_MISSING: “Error: Unable to create monitor because metadata file is empty or file does not exist.”
  43. ERR_MONITOR_NOT_CONFIGURED: “Error: There is no monitor configured for requested name”
  44. ERR_MSSQL_DB_CONTEXT: “Changed database context to”
  45. ERR_MSSQL_WARNING: “Warning”
  46. ERR_NOTHING_SELECTED: “Please make a selection before proceeding.”
  47. ERR_NOT_ADMIN: “Unauthorized access to administration.”
  48. ERR_NO_DB: “Could not connect to the database. Please refer to suitecrm.log for details (0).”
  49. ERR_NO_HEADER_ID: “This feature is unavailable in this theme.”
  50. ERR_NO_INVITEES_FOR_REMINDER: “No invitees for reminder.”
  51. ERR_NO_SINGLE_QUOTE: "Cannot use the single quotation mark for "
  52. ERR_NO_SUCH_FILE: “File does not exist on system”
  53. ERR_OPT_IN_RELATION_INCORRECT: “Opt In requires the email to be related to Account/Contact/Lead/Target”
  54. ERR_OPT_IN_TPL_NOT_SET: “Opt In Email Template is not configured. Please set up in email settings.”
  55. ERR_QUERY_LIMIT: “Error: Query limit of $limit reached for $module module.”
  56. ERR_REMINDER_IS_NOT_SET_POPUP_OR_EMAIL: “Reminder is not set for either a popup or email.”
  57. ERR_RETURN: “Return to Home”
  58. ERR_SEARCH_INVALID_QUERY: “An error has occurred while performing the search. Your query syntax might not be valid.”
  59. ERR_SEARCH_NO_RESULTS: “No results matching your search criteria. Try broadening your search.”
  60. ERR_SELF_REPORTING: “User cannot report to him or herself.”
  61. ERR_SMARTY_UNEQUAL_RELATED_FIELD_PARAMETERS: “Error: There are an unequal number of arguments for the ‘key’ and ‘copy’ elements in the displayParams array.”
  62. ERR_SQS_NO_MATCH: “No Match”
  63. ERR_SQS_NO_MATCH_FIELD: "No match for field: "
  64. ERR_STORE_FILE_MISSING: “Error: Unable to find Store implementation file”
  65. ERR_SUHOSIN: “Upload stream is blocked by Suhosin, please add “upload” to suhosin.executor.include.whitelist (See suitecrm.log for more information)”
  66. ERR_TWO_FACTOR_CODE_FAILED: “Two Factor Authentication code failed to send.”
  67. ERR_TWO_FACTOR_CODE_SENT: “Two Factor Authentication code sent.”
  68. ERR_TWO_FACTOR_FAILED: “Two Factor Authentication failed”
  69. ERR_UNDEFINED_METRIC: “Error: Unable to set value for undefined metric”

What’s the location of the main config file(s)?

Specifically, I want to change my mysql password.