emblem-notice-24.pngSummary

emblem-notice-24.pngLast update : 2024-02-15

emblem-question-24.pngLink with my job ?

There is absolutely no link between the repository or blog content and my current employer, however, my main job is now packaging PHP, thus giving more time to actively contribute to the projects.

Opinions expressed here are only mine and doesn't imply any community, project or society (Fedora, PHP, Red Hat, CentOS, ...).

emblem-question-24.pngWhich are the goals of this repository ?

Providing the  latest versions of the PHP stack, full featured, and some other software, to the Fedora and Enterprise Linux (RHEL, CentOS, Oracle, Scientific Linux, ...) users. It mainly contains :

  • packages I also maintains in Fedora
  • backports of packages available in Fedora development version
  • some packages incompatible with Fedora policy
  • some packages in progress before being submitted to Fedora repository
  • (nearly) vanilla versions

This is quite away from backporting fixes policy of Enterprise Linux.

emblem-question-24.pngWhere to ask ? How to contact Remi ?

Blog comments are not designed to launch discussion. Forums are open for all question, support, discussion.

You can come to discuss on IRC #remirepo channel (Libera.chat). You can even use the webchat access.

emblem-question-24.pngHow to encourage Remi ?

There is a lot of ways, for example:

  • A small comment on "Merci / Thanks",
  • Use the repository, and the forums to report your use cases.
  • Write on your blog about the repository,
  • Use the "Donate" button (in the upper right corner, I you have miss it), funds will pay my next builder, my web hosting, my web access and some other small gifts.

emblem-question-24.pngHow to Use the repository ?

I think most is explained in the Repository Configuration page.

The simplest way is to follow the instruction from the  configuration wizard.

emblem-question-24.pngSecurity fixes for EOL versions ?

PHP Version <= 8.0 have reached their end of life and are not supported by the PHP Project.

Using a supported version is highly recommended.

But security vulnerabilities are fixed, see the backports repository, and available in latest build of PHP 5.6 to 8.0. These packages are provided for legacy applications (technical debt).

emblem-question-24.pngWhat is the repositories layout ?

There is 3 repositories:

  • The remi-safe repository enabled by default.
    It is really safe (no replacement of official packages).
    Provides common dependencies and SCLs, designed for parallel installation of various versions.
  • The remi-modular repository enabled by default.
    May replace base packages when a module is explicitly enabled by the administrator.
    Provides the various PHP stacks and some other modules.
  • The remi repository disabled by default.
    May replace some packages (mostly from EPEL).
    Provides, among other things, some PHP applications (noarch packages, ex: phpunit*, phpMyAdmin...)

emblem-question-24.pngHow to keep informed of repository news ?

First, reading this blog, each new major version is announced by an entry, minor one by a comment Afterward, each repository have a RSS feed, ex for el9.x86_64.

You can follow Remi's RPM Repository on BlueSky.

emblem-question-24.pngVersion available before its official announcement ?

The PHP release process for new version states:

  • new tag on Tuesday, around noon, see tags on official git repository
  • 2 days to allow us to build binaries and detect possible late issues  (mostly by Microsoft and me), see PHP for Windows
  • version announcement, on Thursday, around noon

So, the packages are built as soon as possible, they must be considered as "QA packages" until the version is officially announced (it may happen that a late change imply to run a new build).

This delay is needed to ensure all mirrors have the new version at official announcement time. Furthermore, for security updates, having the new binaries available quickly is useful as fixed vulnerabilities are public on the git repository.

emblem-question-24.pngCan I synchronize a local mirror of remi repository ?

Yes : you can now use rsync, for this, check the mirrors list, and search one close to your location with the rsync flag.

Access to the main server is restricted to official mirrors.

Satellite users must use the "Complete Mirroring" setting.

reposync users must use the --download-metadata option.

Recursive wget/ftp/curl from the primary mirror is a very bad discouraged practice.

emblem-question-24.pngCan I update Fedora with remi repository enabled ?

Yes, using the dnf system-upgrade tool, with some minor precautions:

  • Upgrade to Fedora 40
    • import the latest key before the upgrade (i.e. /etc/pki/rpm-gpg/RPM-GPG-KEY-remi2024)
  • Upgrade to Fedora 41
    • import the latest key before the upgrade (i.e. /etc/pki/rpm-gpg/RPM-GPG-KEY-remi2024)
    • module enabled before the migration should be enabled again with new dnf

emblem-question-24.pngReplacement of the base packages ?

Some third party repositories have chosen to not replace the default base package, but to provide packages with different names (see The SafeRepo Initiative).

  • when I open my repository, in 2005, this idea didn't exist yet (recent versions were provided by Red Hat in a dedicated channel: RHWAS)
  • I think different names only make sens if both can be installed simultaneously ; which is the case for the libraries (*last packages) and SCL. Conflicts, are evil.
  • replacement stay an admin choice as the repository is not enabled by default
  • includepkgs and exclude yum directives can be used to finely configure what will be pulled from my repository.
  • having various packages providing the same dependencies (ex php-zip provided by php-common, php53-common, php-pecl-zip...) is just a nightmare for yum, raising various dependency issues (an example)
  • remi repository doesn't only provide PHP and a few set of extensions but a (close to) full stack (more than 500 packages), most of them working with all available versions
  • some packages are created/developed first in remi, before being imported in Fedora / EPEL.

emblem-question-24.pngDifference between php-* and php##-php-* packages ?

php-* packages are standard ones (single or default version):

  • they override the default system version (still an admin choice, as you have to enable the repository to get them)
  • only one version can be installed
  • one module stream (php:remi-7.2, php:remi-7.3, php:remi-7.4, php:remi-8.0, php:remi-8.1, remi:php-8.2, remi:php-8.3 and php:remi-8.4) per version
  • packages provide both the NTS and ZTS (Thread Safe) versions

php56-php-*, php70-php-*, php71-php-*, php72-php-*, php73-php-*, php74-php-*, php80-php-*, php81-php-*, php82-php-*, php83-php-* and php84-php-* packages are Softwares Collections (multiple versions)

  • they can be installed beside the default system version (in /opt/remi)
  • various versions can be installed simultaneously
  • all the versions are in the remi-safe repository
  • packages only provide the NTS version
  • if a single version is installed, the php*-syspaths package provides the commands in the usual paths (/usr/bin/php)

Notice: some other repositories have choose to use different names (php56u, php70w) but this create various conflicts. I think a different name only make sense if it allow parallel installation with standard version.

emblem-question-24.pngCan the repository be used only for the Softwares Collections ?

Yes : for Fedora, simply add this line in the remi.repo configuration file

includepkgs=php8*

For Enterprise Linux, the php56php70php71php72php73php74php80php81, php82, php83 and php84 SCL are  available int the remi-safe repository, so no configuration change required.

emblem-question-24.pngMissing dependencies

All dependencies are available in standard repository, and for  Fedora in RPMFusion and for Enterprise Linux in EPEL.

remi-test, remi-php55 and remi-php56 repositories also require the reml repository.

Common dependencies for packages in remi-php** repositories are in remi-safe, enabled by default (as this is new, please report any missing package).

RPM for Enterprise Linux are build using official  RHEL-8.10, RHEL-9.5 and RHEL-10.0-Beta distributions. Some packages can be missing in older versions (ex openssl 3.2). In short: older versions are not supported.

For Enterprise Linux the codeready-builder / CRB / PowerTools is required.

Some "noarch" packages in "remi" repository (e.g. phpMyAdmin 5) now require php(language) >= 8.1. As PHP version  <= 8.0 have reached their "End of life", if you want to use these applications, you have to update, using the "remi-php74" repository (or greater), and thus, use a supported PHP version.

emblem-question-24.pngNo packages found ?

Check if the repository is correctly enabled.

Else, packages from base repository can be protected by the yum priorities plugin. In this case, you may have to disable the plugin (--noplugins or --disableplugin=priorities) or change the repository configuration to set a higher priority.

emblem-question-24.pngConflict between i386 and x86_64 packages ?

This is not directly an issue with remi repository, but rather a old known bug of the old fedora versions and EL-5 installer. Bug which is fixed in more recent versions. This bug cause both the 32 bits and 64 bits libraries being installed. For me, the simplest is the full clean of all 32 bits libraries after a 64 bits system installation:

yum remove glibc.i686

emblem-question-24.pngCan I  get an old version of a package ?

Notice : the main goal of remi repository is to provide the latest versions to have benefit of improvements and fixes, especially security ones.

Yes, this is possible, just open a request on the forum, with all the needed information about the distribution, version and architecture. As this require a search in my off-line backup, you must be patient.

emblem-question-24.pngdebuginfo availability ?

They are available in the repository for packages built after January 2013.

emblem-question-24.pngFirefox, Thunderbird, etc for EL ?

Graphical applications, are only available for fedora, which I consider as the best choice for a workstation. For me, Enterprise Linux is mainly for server system.

Despite this, this applications are now available for EL-6 (le latest version).

Because lack of time, I have suspended their maintenance. I prefer to concentrate my work on the PHP stack.