What is the supported PHP7 installation method for CentOS 7

The documentation clearly states the CentOS7 + PHP7 is an accepted combination in the recommended method of install.

There are many ways to install PHP 7 on RHELCentOS 7.

But I do not want one random way of many. I want to be able to say this server is installed in a supported method.

So what is a supported method?

PHP 7.1.2 from remi repo works fine. Tested on prod:

[root@nextcloud]# php -v
PHP 7.1.2 (cli) (built: Feb 15 2017 08:36:40) ( NTS )
Copyright © 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright © 1998-2017 Zend Technologies

[root@nextcloud]# cat /etc/centos-release
CentOS Linux release 7.3.1611 (Core)

[root@nextcloud]# uname -sr
Linux 4.10.0-1.el7.elrepo.x86_64

[root@nextcloud]# yum repoinfo remi
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

If you want instructions how to install latest PHP from remi give me o shot :slight_smile:

I wrote about the various options for this last year whilst carrying out updates to the CentOS wiki


The three options that are best supported are RemiRepo, IUS and SCL where each have their own pros and cons.

Read up on them in the article and then pick the best for your use case.


I know about those options, but I want to know what is considered supported by the NextCloud team. I don’t care what “works” as you say.

I have had this argument with the team back when they were still ownCloud when @jospoortvliet was calling PHP 5.4 on CentOS unsupported.


PHP 5.6+. PHP 5.6 is the minimum supported version. We recommend to deploy on PHP 7 if possible.

AFAIK the some maintainers are using 7.0.1 or even 7.1.

Hi @JaredBusch

If you’re a customer, I suggest to ask Nextcloud Support as they’re the only ones who provide any official Nextcloud support :wink:

There isn’t really any such thing in the community, other than what volunteers are willing to spend their time on so I’m not sure exactly what you are asking for…

You cannot tell us that you want us to install RHEL / CentOS 7 and PHP 7 and not tell us how to install PHP 7.

As you are well aware, that distribution uses PHP 5.4 by default, even with the EPEL added.

I want to know what is officially the support method of installing PHP 7. This should not be that hard to tell the public.

[root@bna-nc ~]# yum install php
Loaded plugins: fastestmirror
base                                                                                                                | 3.6 kB  00:00:00     
epel/x86_64/metalink                                                                                                |  13 kB  00:00:00     
extras                                                                                                              | 3.4 kB  00:00:00     
updates                                                                                                             | 3.4 kB  00:00:00     
Loading mirror speeds from cached hostfile
 * base: centos.mirrors.tds.net
 * epel: mirror.oss.ou.edu
 * extras: ftpmirror.your.org
 * updates: bay.uchicago.edu
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.4.16-42.el7 will be installed
--> Processing Dependency: php-common(x86-64) = 5.4.16-42.el7 for package: php-5.4.16-42.el7.x86_64
--> Processing Dependency: php-cli(x86-64) = 5.4.16-42.el7 for package: php-5.4.16-42.el7.x86_64
--> Processing Dependency: httpd-mmn = 20120211x8664 for package: php-5.4.16-42.el7.x86_64
--> Processing Dependency: httpd for package: php-5.4.16-42.el7.x86_64
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-45.el7.centos will be installed
--> Processing Dependency: httpd-tools = 2.4.6-45.el7.centos for package: httpd-2.4.6-45.el7.centos.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-45.el7.centos.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-45.el7.centos.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-45.el7.centos.x86_64
---> Package php-cli.x86_64 0:5.4.16-42.el7 will be installed
---> Package php-common.x86_64 0:5.4.16-42.el7 will be installed
--> Processing Dependency: libzip.so.2()(64bit) for package: php-common-5.4.16-42.el7.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-3.el7 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
---> Package httpd-tools.x86_64 0:2.4.6-45.el7.centos will be installed
---> Package libzip.x86_64 0:0.10.1-8.el7 will be installed
---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

 Package                           Arch                         Version                                   Repository                  Size
 php                               x86_64                       5.4.16-42.el7                             base                       1.4 M
Installing for dependencies:
 apr                               x86_64                       1.4.8-3.el7                               base                       103 k
 apr-util                          x86_64                       1.5.2-6.el7                               base                        92 k
 httpd                             x86_64                       2.4.6-45.el7.centos                       base                       2.7 M
 httpd-tools                       x86_64                       2.4.6-45.el7.centos                       base                        84 k
 libzip                            x86_64                       0.10.1-8.el7                              base                        48 k
 mailcap                           noarch                       2.1.41-2.el7                              base                        31 k
 php-cli                           x86_64                       5.4.16-42.el7                             base                       2.7 M
 php-common                        x86_64                       5.4.16-42.el7                             base                       564 k

Transaction Summary
Install  1 Package (+8 Dependent packages)

Total download size: 7.7 M
Installed size: 27 M
Is this ok [y/d/N]: n
Exiting on user command

Your own documentation specifically states that PHP 5.6 + is required.

Since that is not part of CentOS / RHEL 7 but yet those are supported systems, you have a problem.

This is not something that should be hard to understand.

I have wrote instructions for using remi with ownCloud 8 in the past. As I said I am not looking for “a way” but instead, I am looking for “the way”.

If NextCloud cannot be bothered to specify a supported method then I cannot be bothered to continue using their product free or paid.

I think the wording here is confusing us.

You ask what is supported by the Nextcloud team. If by Nextcloud team you mean the company then, well, if you have a support contract, ask the support team. Their answer will most likely be that they will support you with all three options. So they are all ‘officially supported’, if you pay.

If you mean the volunteer community, then there is nothing officially supported: your guarantees end the moment you download. Yes, the term ‘official’ is weird in a community, but when push comes to shove - you rely on volunteers so don’t count on it meaning much.

I think you’re looking for a recommendation. I personally have none but @James_Hogarth is probably the person with the most CentOS expertise on this forum so I’d follow his advice.

But in any case, as long as you have a functioning LAMP stack with PHP 7 you’re as good as it gets. I personally run openSUSE Tumbleweed with PHP 7, that is as official as anything…

I will not accept a recommendation from a random community member. No matter how knowledgable that person is (no offense @James_Hogarth).

Just forget about PHP 7 and recommendations.

Your own documentation clearly says that a supported operating system is CentOS 7.
Your own documentation clearly says that PHP 5.6 + is required.

Those two things do not go together without a 3rd party change to the operating system.

When this shit storm went down a year ago with you at ownCloud, someone from ownCloud besides you, finally came in and clarified that PHP 5.4 was perfectly valid even though you said it was not.

At some point after that the same person from ownCloud posted an officially recommended method for installing PHP 5.6 +. I do believe is was IUS, but I cannot find that post right now, and it is also not relevant because NextCloud is not ownCloud.

What is NextCloud’s officially recommended method for acquiring PHP 5.6 +?

This is a very simple question.

Just had time to read your linked article.
It is a great read for those that need to make up their own mind between the options.

If I had to decide on a solution for this, I know what solution I would choose. But my choice is not as important as the recommended solution.

Maybe you don’t understand how the Community (and community app version) works? :)))

Why because they have bad documentation and requirements listed it is my fault? No that is not how things work.

NextCloud specifically lists these requirements. Yet they provide no official means of meeting them. This means their software is bad (which we all know is not the case) or their design is bad or their documentation is bad.

None of these are my issue.

I prefer to run all production systems on CentOS 7. CentOS 7 is listed, but so is PHP 5.6+.

These two things are mutually exclusive without a 3rd party change.

This is not my problem to resolve.

It is NextCould’s problem to resolve.

They can either change the documentation or change the requirements.

If the documentation did not list CentOS 7 as supported and even recommended, then I would either choose to handle the risk myself or choose another operating system.

But the fact is that it is clearly marked as not only a supported operating system, it is listed as a recommended operating system(RHEL).

Your website clearly uses the word supported, and lists RHEL / CentOS 6.5 and 7. These are not my words. You want to call it a recommendation? Fine I want a recommendation. What path does NextCloud say works here. Because there is no possible way to get PHP 5.6+ on CentOS 6.5 and 7 without something 3rd party.

As it is, you have a product that is unable to be installed on half of your recommended operating systems.

Do you think that PHP at CentOS7 base repo is maintain by CentOS team not “3rd party” PHP team?
Well… NOT. Surprise! :slight_smile:
Every bug at PHP is 3rd party case.

But… Do you know that CentOS is a Community distribution as well as Nextcloud is?
Where is your enterprise support now?
Did you see how many issues is at CentOS bug tracker? OMG.

Don’t do the lame shit storm, go to remi repo, install latest PHP and thanks him for his great job.

Or you can compile it by yourself. There is lots of tutorials at web.
Oh, no! You can’t install anything from “random community member”. What a pitty. Maybe try to run Nextcloud without PHP?

EDIT: Wait! If you join here it means you are random community member!
So, let me quote… you – “I will not accept a recommendation from a random community member. No matter how knowledgable that person is (no offense @JaredBusch )”.

Meh. EOT.


It is simple, but why are you asking on the forums? There are only volunteers here and that essentially includes the folks paid to work for Nextcloud GmbH: none of us are paid to answer questions in an ‘official’ capacity. That we only do for customers. Sorry.

You’re using an open source product without support contract. So there is no ‘official’.

When our documentation says ‘supported’, all it means is that one or more of the developers (volunteers as far as the community is concerned) has tried it and it didn’t break.


Hello @JaredBusch :slight_smile:

NextCloud specifically lists these requirements. Yet they provide no official means of meeting them. This means their software is bad (which we all know is not the case) or their design is bad or their documentation is bad.

None of these are my issue.

Actually, it is. If you think there’s an issue, you’re very welcome to fix the documentation. This is how Open Source works.

1 Like

So I’m doing testing of NextCloud on Fedora 25 pretty extensively as it seems to meet all of the needs shy of being listed in the docs really well. Can I get involved in updating that part of the docs to get it listed? That would be great (and make me feel better about the time being put into the testing.) So far, it seems to run better on Fedora than anywhere else that I have tried. So I’d love to see that get an official stamp, even if I’m the one stamping it :wink: