Announcement

Collapse
No announcement yet.

Upgrading from version 5.7 using PHP 8.0 fails

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    This is likely due to not enough disk space. The database uses on operations a temporary folder and if you do not have enough disk space because of a large database, this can happen.

    Try to find the file mysqld.log, where you might finde that as a reason.
    Last edited by shalmaxb; 03-12-2022, 12:01 AM.

    Comment


    • murugappan
      murugappan commented
      Editing a comment
      Hi shalmaxb thank you for the help. We check this out.

  • #17
    Hi shalmaxb ,

    We are investigating the point of error. The problem I am not sure of which "temporary folder" you are referring to. There is a "tmp" subfolder under "data" main folder and there is another which is part of the disk partition mount point which goes as "/tmp". I have attached screencap of the 2. Appreciate you help.

    Click image for larger version

Name:	application tmp folder.png
Views:	277
Size:	12.6 KB
ID:	79245Click image for larger version

Name:	server disk tmp.png
Views:	236
Size:	45.3 KB
ID:	79246

    Comment


    • #18
      You should look for a mysql temp directory, which can be on various locations. Have a look here: http://mysql.babo.ist/#/en/temporary-files.html

      The logfile is named mysqld.log. On my local environment I find it under data/mysql-x.x/mysqld.log
      Last edited by shalmaxb; 03-14-2022, 08:03 AM.

      Comment


      • #19
        Hi shalmaxb ,

        We have resolved the problem with your valuable help. We could not change the mount point /tmp as that was created my Centos. So we changed MySQL config to use a new /sqltem folder in our root. That worked like a breeze. The upgrade from 6.1.10 to 7.0.9 took about 40 minutes due to table restructure and our DB Size of 8GB. In total the migration took us approximately 4 hours.

        I have prepared a migration plan of todos step by step. I have attached it for anyone's use. Thank you shalmaxb
        Attached Files
        Last edited by murugappan; 03-17-2022, 11:58 AM. Reason: Correction of typo and missing info

        Comment


        • shalmaxb
          shalmaxb commented
          Editing a comment
          Hi, good to hear that.

      • #20
        Hi shalmaxb ,

        We have successfully migrated and upgraded our version 7.0.9 using Php 8.0. We started production run today. We are facing with these problems:

        (1) The many of email and case listings seem get frequent "Timeout" messages. Our email related tables contain between 600k to 2.1 million rows (email_user table). The case tables has between 460k to 600K rows. It should be noted that these 2 tables are have relationship links (out-of-the box)
        (2) We getting lots errors in the error.log indicating that there may be deprecated code. I have attached the error.log file.

        Appreciate your help.

        Attached Files

        Comment


        • #21
          Hi,
          what I see at first glance (but still guessing a bit):

          - maybe your advanced pack is not up to date, it has to be version 2.8.6
          - then there are a lot of errors, thet a cache folder cannot be created, because it already exists. You should go ther: data/cache/application and delete the folder "application"

          Hope it helps. Don`t forget to make a complete backup befor changing things.

          Comment


          • #22
            Hi shalmaxb

            (1) The advanced pack is 2.8.12 already
            (2) I delete the 'application' folder.

            Noiw the error.log just has this "
            PHP Warning: Module 'sodium' already loaded in Unknown on line :

            [20-Mar-2022 09:51:49 UTC] PHP Warning: Module 'sodium' already loaded in Unknown on line 0

            Is it possible that there is espocrm has issues with Php 8.0 as well?

            Comment


            • #23
              This new warning means, that php tries to load modules, that are already loaded. In this case "sodium". It is not possible from here to detect, why, but generally it means, that in your php.ini there will be a line, where this extension sodium is already active. Have a look here:

              If your PHP program throws this warning “Module already loaded”, then  here’s how you can fix that. Normally this warning message is seen when you execute PHP program in the command line – as below: $php sam.php PHP Warning: Module 'fileinfo' already loaded in Unknown on line 0 You...


              I do not think it has to do with espoCRM, it meight be more server specific and caused by the migration.

              Comment


              • #24
                Hi shalmaxb

                Thank you for the advice. I checked out the specs of PHP 8.0 and i found that soduim comes autoloaded by Apache Extensions. This extension is installed both in PHP 7.4 and 8.0. The odd thing is that error is not logged for PHP 7.4 but it is logged for PHP 8.0.

                In my earlier post # 20 above item (2) regarding deprecated code when using php 8.0, the error.log showed this:

                [22-Mar-2022 07:02:08 UTC] PHP Deprecated: Required parameter $templateId follows optional parameter $where in /home/crmemast/public_html/emascrm/application/Espo/Modules/Advanced/Services/Report.php on line 4825

                Anyway, since the instance was behaving erratically with PHP 8.0 (including slow performance and frequent "timeouts") we switched over to PHP 7.4 and it appears that all the problems have gone and performance appears to be great.

                I am not sure what to make of this and also is Espocrm ready for PHP 8.X? We will retest Espocrm Version 7.0.9 later in our development server.
                Last edited by murugappan; 03-23-2022, 06:31 AM.

                Comment


                • #25
                  Hi shalmaxb ,

                  After resolving much of the problems , the apps was working fine but as more and more users got onboard, things began to be very slow with frequet timeouts. On checking the log we get this SQLSTATE[HY000] [1203] User crmemast_crmdba already has more than 'max_user_connections" error. The max user connections has been set at 250 and crmemast_crmdba us the DB User for the instance. We are not an experts in DB but when i search the internet, i get a pointer to the app code.

                  Appreciate any help you can give me on this. Thank you in advance.

                  Click image for larger version

Name:	max-connection.png
Views:	230
Size:	154.1 KB
ID:	79446

                  Comment


                  • #26
                    Hi, this now is from the MySQL Server. It simply says, that there are more connections at the same time to the database, as configured (you said 250). You could try to increase the max_user_connections.
                    Here are some solutions: https://stackoverflow.com/questions/...x-user-connect

                    You must know, that all my advice is a bit guessing, because I do not know your system and overall configuration.
                    Also, changing values not necessarily solves the error, but only prevents it until next time. You should try to find the cause for errors.

                    I had once problems with updating espoCRM because of extensions. This could be an approach for you, too: Deactivate all extensions and do a testing, then activate one after another, until the error (perhaps) occurs again.

                    Another problem in the database of espoCRM sometimes is, that there are sitting old tables, that once were created and later deleted in espoCRM Administrator. It happens, that tables that way are not deleted in the database. On import of the database, the system won`t find these formerly deleted tables and throws the error.

                    Comment

                    Working...
                    X