Here is my question, I am trying (forced) to install PHP 8.2 into almalinux 8.6, but in a weird way. The idea is to be able to install it without internet, but with some local repositories which propose the wrong versions.

My idea is to download the rpm files, create a local repo, transfer it to the machine where the installation is needed and install it.

Here is what I have done so far.

I downloaded the rpm packages after downloading remi with the following command

dnf --downloadonly --downloaddir=path/to/folder install php

Everything is ok.

Afterwards, I create a local repo with the command createrepo.

Then a take everything into a new machine. There I do the following things. Place the file myphp.repo in /etc/yum.repos.d/` The file contains as follows

name= myphp

Then in /share/myphp/ I place the folder containing all rpms and the repodata.

When using the command yum repolist all, myphp is enabled.

If I use the command : sudo yum --disablerepo "*" --enablerepo myphp list php

I obtain the following output php.x86_64

Nevertheless, when I try to install it, he only proposes me php7.2 (the default one) and when writing the command sudo yum module list phpi only get the following list

AlmaLinux 8.6 - AppStream
Name                                      Stream                                       Profiles                                                       Summary
php                                       7.2 [d]                                      common [d], devel, minimal                                     PHP scripting language
php                                       7.3                                          common [d], devel, minimal                                     PHP scripting language
php                                       7.4                                          common [d], devel, minimal                                     PHP scripting language
php                                       8.0                                          common [d], devel, minimal                                     PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

I cannot find what is wrong in the creation of the repository, in the transfer or in any other thing... Do you have any ideas? tips ? Helps is really appreciated, thanks :)

P.S. I need to be able to do a clean install since there are lots of php libraries that are needed to be installed and the idea is to automate since there are a lot of machines that need to install it.

1 Answer 1


It will be much more simple to use rsync to pull the full repository with its metadata and use it as a local mirror.

Don't know how you create your metadata (repodata directory), but obviously, module information is missing. A workaround is to use module_hotfixes=1 option in your local repository configuration.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .