SuiteCRM 8 Beta - Install Questions

Good shout out.

Will update that page to make it more clear.

1 Like

Hi @rwebb616,

yes, exactly. Or just update directly on .env.

That is done - looks like itā€™s giving more detail now. Let me know what you find out.

After fresh install of Suite8 with only demo data, it is taking very long time to load, around 75 seconds. I checked network tab in browser and found these three graphql requests are taking very long, around 10 seconds each

  • /api/app-list-strings/en_us
  • /api/user-preferences/global
  • /api/mod-strings/en_us

Any guidance for how to configure Suite 8 installation for optimum performance. Like what should be PHP memory limit, caching, or any other configuration that need to be configured different from what is suggested for earlier versions of SuiteCRM ?

Hi @rwebb616,

From the logs seems like the db url is not ok.

Doctrine\DBAL\Exception:
Malformed parameter "url".

  at /var/www/suite8/vendor/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php:329
  at Doctrine\DBAL\DriverManager::parseDatabaseUrl()
     (/var/www/suite8/vendor/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php:179)
  at Doctrine\DBAL\DriverManager::getConnection()

However, from the previous message you said that it was something like : mysql://root:password@localhost:3306/suitecrm, which seems ok.

Could you try with 127.0.0.1 instead of localhost, please? Maybe some mapping missing.

Hi @milanraval,

Hmā€¦ thats really a lot of timeā€¦ on our locals and on our servers these requests go between 150ms and 300ms. These times are for an env that is just using a regular apache config, without any special optimizations.

image

You are using IIS right? which version of php are you using?

Hi @clemente.raposo,

Yes, using IIS and PHP 8.

Thanks,
Milan

Yes, I put in 127.0.0.1 and didnā€™t seem to make a difference (weā€™re talking about in the .env.local file right?) after which I rebooted because when I logged into the command line it said the system required a reboot. I figured that rebooting would accomplish all necessary restarting of apache. Also FYI pinging localhost does resolve to 127.0.0.1 and my /etc/hosts does have 127.0.0.1 localhost in it.

Hi @rwebb61,

Yes, the .env.local overrides the entries in the.env file.

The error we are getting at the moment is very strange. Iā€™m wondering if its being caused because we set APP_ENV=qa,

Could you try changing the env to APP_ENV=dev. After this change you may need to run composer install. Are you able to run composer on your environment?

By the way, and sorry if I missed, did you install from the installable package or from the repo/source code zip?

I set up a brand new Ubuntu VM (on esxi) and applied all updates, then hit the download button from here: https://suitecrm.com/suitecrm-8-beta-preview/ and then followed the install instructions. This is a relatively clean install - maybe I missed something somewhere.

I donā€™t have composer currently installed. Iā€™m being told that I can install it with apt install composer :slight_smile:

I will try that.

Hi @rwebb616,

The package from https://suitecrm.com/suitecrm-8-beta-preview/ is the read to install one. It already includes a vendor folder with all dependencies. So usually you donā€™t need to run composer install.

However, setting APP_ENV=dev will change symfony to dev mode, which requires having dev dependencies installed. By default the package, only has the prod mode dependencies.
Thats the only reason for needing composer.

Got this when running composer install:

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - jeremykendall/php-domain-parser 4.0.3-alpha requires ext-intl * -> the req                                                                              uested PHP extension intl is missing from your system.
    - jeremykendall/php-domain-parser 4.0.3-alpha requires ext-intl * -> the req                                                                              uested PHP extension intl is missing from your system.
    - Installation request for jeremykendall/php-domain-parser 4.0.3-alpha -> sa                                                                              tisfiable by jeremykendall/php-domain-parser[4.0.3-alpha].

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.4/cli/php.ini
    - /etc/php/7.4/cli/conf.d/10-mysqlnd.ini
    - /etc/php/7.4/cli/conf.d/10-opcache.ini
    - /etc/php/7.4/cli/conf.d/10-pdo.ini
    - /etc/php/7.4/cli/conf.d/15-xml.ini
    - /etc/php/7.4/cli/conf.d/20-calendar.ini
    - /etc/php/7.4/cli/conf.d/20-ctype.ini
    - /etc/php/7.4/cli/conf.d/20-curl.ini
    - /etc/php/7.4/cli/conf.d/20-dom.ini
    - /etc/php/7.4/cli/conf.d/20-exif.ini
    - /etc/php/7.4/cli/conf.d/20-ffi.ini
    - /etc/php/7.4/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.4/cli/conf.d/20-ftp.ini
    - /etc/php/7.4/cli/conf.d/20-gd.ini
    - /etc/php/7.4/cli/conf.d/20-gettext.ini
    - /etc/php/7.4/cli/conf.d/20-iconv.ini
    - /etc/php/7.4/cli/conf.d/20-imap.ini
    - /etc/php/7.4/cli/conf.d/20-json.ini
    - /etc/php/7.4/cli/conf.d/20-mbstring.ini
    - /etc/php/7.4/cli/conf.d/20-mysqli.ini
    - /etc/php/7.4/cli/conf.d/20-pdo_mysql.ini
    - /etc/php/7.4/cli/conf.d/20-phar.ini
    - /etc/php/7.4/cli/conf.d/20-posix.ini
    - /etc/php/7.4/cli/conf.d/20-readline.ini
    - /etc/php/7.4/cli/conf.d/20-shmop.ini
    - /etc/php/7.4/cli/conf.d/20-simplexml.ini
    - /etc/php/7.4/cli/conf.d/20-sockets.ini
    - /etc/php/7.4/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.4/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.4/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.4/cli/conf.d/20-tokenizer.ini
    - /etc/php/7.4/cli/conf.d/20-xmlreader.ini
    - /etc/php/7.4/cli/conf.d/20-xmlwriter.ini
    - /etc/php/7.4/cli/conf.d/20-xsl.ini
    - /etc/php/7.4/cli/conf.d/20-zip.ini
  You can also run `php --ini` inside terminal to see which files are used by PH                                                                              P in CLI mode.

Ok after installing php-intl I got the following (only pasted the last few lines)

Package guzzlehttp/ringphp is abandoned, you should avoid using it. No replacement was suggested.
Package guzzlehttp/streams is abandoned, you should avoid using it. No replacement was suggested.
Package container-interop/container-interop is abandoned, you should avoid using it. Use psr/container instead.
Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested.
Package leafo/scssphp is abandoned, you should avoid using it. Use scssphp/scssphp instead.
Generating optimized autoload files
Deprecation Notice: Class Zend_Validate_Barcode_IntelligentMail located in ./vendor/zf1/zend-validate/library/Zend/Validate/Barcode/Intelligentmail.php does not comply with psr-0 autoloading standard. It will not autoload anymore in Composer v2.0. in /usr/share/php/Composer/Autoload/ClassMapGenerator.php:201
Deprecation Notice: Class Zend_Gdata_Analytics_Goal located in ./vendor/zf1/zend-gdata/library/Zend/Gdata/Analytics/Extension/Goal.php does not comply with psr-0 autoloading standard. It will not autoload anymore in Composer v2.0. in /usr/share/php/Composer/Autoload/ClassMapGenerator.php:201
Deprecation Notice: Class EasyRdf_Serialiser_JsonLd located in ./vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/JsonLd_real.php does not comply with psr-0 autoloading standard. It will not autoload anymore in Composer v2.0. in /usr/share/php/Composer/Autoload/ClassMapGenerator.php:201
Deprecation Notice: Class EasyRdf_Parser_JsonLd located in ./vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/JsonLdImplementation.php does not comply with psr-0 autoloading standard. It will not autoload anymore in Composer v2.0. in /usr/share/php/Composer/Autoload/ClassMapGenerator.php:201
composer/package-versions-deprecated: Generating version class...
composer/package-versions-deprecated: ...done generating version class
129 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

Synchronizing package.json with PHP packages
Don't forget to run npm install --force or yarn install --force to refresh your JavaScript dependencies!
Run composer recipes at any time to see the status of your Symfony recipes.

Executing script cache:clear [KO]
 [KO]
Script cache:clear returned with error code 1
!!
!!  In DriverManager.php line 329:
!!
!!    Malformed parameter "url".
!!
!!
!!
Script @auto-scripts was called via post-install-cmd

Hi @rwebb616

Thank you.

Regarding:

How does your DATABASE_URL look like (you can omit the password and other sensitive info) both on .env and .env.local ?

By the way, this url comes from the following:

file: config/packages/doctrine.yaml

parameters:
  # Adds a fallback in case the env is not set.
  env(DATABASE_URL): ''

doctrine:
  dbal:
    url: '%env(DATABASE_URL)%'
   

.env does not have the URL and .env.local is like this:
DATABASE_URL="mysql://root:password@127.0.0.1:3306/suitecrm"

@rwebb616, strange, that url looks ok. Could you try re-setting the permissions for the .env.local (or all files). My best guess at the moment is that its not being able to read .env.local so no url is setā€¦

Assuming your apache group and user are www-data (may need sudo before the following):

find . -type d  -exec chmod 2775 {} \;
find . -type f  -exec chmod 0644 {} \;
chown -R www-data:www-data .

I applied these permissions.

Could there be something up with the database itself? I could drop the db and go through a complete reinstall if you think that would be helpful. That way it would recreate the db.

Hi @rwebb616,

Donā€™t think this is db related, seems like the config is not being picked for some reason.

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 .