Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. check what php version we currently have.

  2. Uninstall php

    Code Block
    sudo yum remove php*
    sudo yum remove /etc/php*
  3. check that php is completely removed

    Code Block
    whereis php
    php -v
  4. After removing the packages, clean up your system:

    Code Block
    sudo yum clean all
  5. Disable Any Third-Party PHP Repositories. If you have any third-party repositories enabled (like Remi or EPEL), you should disable them to avoid conflicts:

    Code Block
    sudo yum-config-manager --disable remi-php*
  6. Enable PHP Repository via Amazon Linux Extras

    Code Block
    sudo amazon-linux-extras enable php8.1
  1. Install

...

  1. all php packages that are required for moodle to operate.

    1. first install PHP

      Code Block
      sudo yum install php
      sudo yum install php-fpm
    2. all php packages that are required

      • The iconv extension is required.

      • The mbstring extension is required.

      • The curl extension is required (required for networking and web services).

      • The openssl extension is recommended (required for networking and web services).

      • The tokenizer extension is recommended.

      • The xmlrpc extension is recommended (required for networking and web services).

      • The soap extension is recommended (required for web services).

      • The ctype extension is required.

      • The zip extension is required.

      • The gd extension is required.

      • The simplexml extension is required.

      • The spl extension is required.

      • The pcre extension is required.

      • The dom extension is required.

      • The xml extension is required.

      • The intl extension is required.

      • The json extension is required.

      • the opcache extension is not required but moodle displays a warning to be installed as well.

      • The appropriate extension for your chosen database is also required.

        • mysqlnd

      • The redis extension for our case needs to be installed as well. There is a case where amazon-linux-extras might not include redis into their packages and for that reason we need to go with a third party repository like remi.

        Code Block
        sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
        sudo yum-config-manager --enable remi-php81
        sudo yum install php-redis

        After installing redis it’s a good idea to go back to amazon-linux-extras repository.

        Code Block
        sudo amazon-linux-extras enable php8.1
        yum clean metadata

    After installing all the php packages it is mandatory to change the max_input_vars to 5000. This can be found in /etc/php.ini

Info

It's always a good idea to check Moodle's phpinfo() page, as well as Moodle's environment page, to ensure that all services are enabled and functioning properly.

...