>백엔드 개발 >PHP7 >CentOS에 PHP7을 설치하는 올바른 방법

CentOS에 PHP7을 설치하는 올바른 방법

coldplay.xixi
coldplay.xixi앞으로
2020-06-24 17:58:303527검색

CentOS에 PHP7을 설치하는 올바른 방법

CentOS의 PHP 버전은 매우 오래되어 일부 프레임워크의 PHP 버전 요구 사항을 충족할 수 없습니다. 결과적으로 새로운 버전의 PHP를 제공하는 EPEL, RPM Fusion, Remi 등과 같은 많은 타사 소프트웨어 라이브러리가 등장했습니다. 우리 시스템이 시대에 보조를 맞추도록 하세요.

그러나 타사 소프트웨어 라이브러리에는 몇 가지 단점이 있습니다. 첫째, 그들이 제공하는 소프트웨어는 CentOS에서 공식적으로 테스트되지 않았습니다. 소프트웨어를 설치할 때 시스템의 일부 핵심 파일이 교체되어 시스템이 불안정해질 수 있습니다. 둘째, 타사 라이브러리에서 설치한 소프트웨어는 호환성을 보장하지 않을 수 있으며 시스템을 업그레이드하면 특정 소프트웨어를 사용할 수 없게 될 수 있습니다.

그래서 이 글에서는 SCL(Software Collections) 소프트웨어 라이브러리를 사용하여 더 높은 버전의 PHP를 설치할 것을 권장합니다. SCL은 CentOS의 공식 소프트웨어 라이브러리에 속하며 완전히 테스트되었으며 소프트웨어 설치 시 시스템의 핵심 파일을 대체하지 않으므로 시스템의 안정성이 보장됩니다.

SCL 설치는 매우 간단합니다. 단 하나의 명령이면 충분합니다:

[root@localhost]# yum install centos-release-scl-rh

그런 다음 yum에서 새 버전의 PHP를 검색할 수 있습니다:

[root@localhost]# yum search php...php54-runtime.x86_64
php55-runtime.x86_64
rh-php56-runtime.x86_64
rh-php70-runtime.x86_64...

rh- 접두어는 RedHat을 의미하며 이것이 공식적으로 제공됨을 나타냅니다. 타사 라이브러리가 아닌 PHP를 사용합니다. 저자는 이 접두사 사양이 2015년쯤에 공식화되었으며 그 전에 PHP5.4 및 5.5가 릴리스되었다고 추측합니다. 예를 들어 일부 프로그램은 이미 yum install php55를 작성했으며 접두사를 추가합니다. 프로그램이 중단됨) rh- 접두사 없이.

다음으로 PHP7.0을 설치하세요:

[root@localhost]# yum install rh-php70

설치 후 실제로 PHP는 /opt/rh 디렉터리에 설치됩니다.

이때 php 명령을 실행하면 시스템은 여전히 ​​명령을 찾을 수 없다는 메시지를 표시합니다. 이는 SCL의 스타일이 소프트웨어가 시스템에 미치는 영향을 최소화하는 것이기 때문입니다. PHP를 설치한 후에도 php 명령이 $PATH 변수에 추가되지 않으므로 소프트웨어에서 직접 명령을 실행할 수 없습니다. scl 활성화 명령을 통해 표시하고 실행해야 합니다.

먼저 SCL이 설치한 소프트웨어가 무엇인지 확인하세요.

[root@localhost]# scl -lrh-php70

시스템에 rh-php70이 설치되어 있는 것을 볼 수 있습니다. 먼저 활성화하고 다음을 실행하세요. 명령:

[root@localhost]# scl enable rh-php70 "php -v"PHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )Copyright (c) 1997-2016 The PHP GroupZend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

명령이 성공적으로 실행되었습니다. 모든 명령을 이렇게 실행해야 한다면 너무 번거로울 것입니다! 상관없습니다. 매번 명령을 실행할 필요는 없지만 bash 명령을 직접 실행하면 새로 열린 셸이 자동으로 PHP를 인식합니다.

[root@localhost]# scl enable rh-php70 bash[root@localhost]# php -vPHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

[root@localhost ~]# php -m[PHP Modules]
bz2
calendar...

SCL은 scl 활성화에서 소프트웨어를 관리합니다. 방법은 더 많은 사용량이 필요하기는 하지만 약간의 문제는 있지만 시스템 안정성을 절대적으로 보장합니다. 이를 수행하면 또 다른 이점이 있습니다. 여러 PHP 버전이 서로 충돌하지 않고 시스템에 공존할 수 있다는 것입니다. 다양한 버전의 PHP에서 코드나 프레임워크의 호환성을 테스트하는 것이 편리합니다.

요컨대, 엄격한 운영 및 유지 관리를 원한다면 이 문서에서는 SCL을 사용하여 시스템의 소프트웨어를 관리할 것을 적극 권장합니다.

CentOS의 PHP 버전은 매우 오래되어 일부 프레임워크의 PHP 버전 요구 사항을 충족할 수 없습니다. 결과적으로 새로운 버전의 PHP를 제공하는 EPEL, RPM Fusion, Remi 등과 같은 많은 타사 소프트웨어 라이브러리가 등장했습니다. 우리 시스템이 시대에 보조를 맞추도록 하세요.

그러나 타사 소프트웨어 라이브러리에는 몇 가지 단점이 있습니다. 첫째, 그들이 제공하는 소프트웨어는 CentOS에서 공식적으로 테스트되지 않았습니다. 소프트웨어를 설치할 때 시스템의 일부 핵심 파일이 교체되어 시스템이 불안정해질 수 있습니다. 둘째, 타사 라이브러리에서 설치한 소프트웨어는 호환성을 보장하지 않을 수 있으며 시스템을 업그레이드하면 특정 소프트웨어를 사용하지 못할 수 있습니다.

그래서 이 글에서는 SCL(Software Collections) 소프트웨어 라이브러리를 사용하여 더 높은 버전의 PHP를 설치할 것을 권장합니다. SCL은 CentOS의 공식 소프트웨어 라이브러리에 속하며 완전히 테스트되었으며 소프트웨어 설치 시 시스템의 핵심 파일을 대체하지 않으므로 시스템의 안정성이 보장됩니다.

SCL 설치는 매우 간단합니다. 단 하나의 명령이면 충분합니다:

[root@localhost]# yum install centos-release-scl-rh

그런 다음 yum에서 새 버전의 PHP를 검색할 수 있습니다:

[root@localhost]# yum search php...php54-runtime.x86_64
php55-runtime.x86_64
rh-php56-runtime.x86_64
rh-php70-runtime.x86_64...

rh- 접두어는 RedHat을 의미하며 이것이 공식적으로 제공됨을 나타냅니다. 타사 라이브러리가 아닌 PHP를 사용합니다. 저자는 이 접두사 사양이 2015년쯤에 공식화되었으며 그 전에 PHP5.4 및 5.5가 릴리스되었다고 추측합니다. (예를 들어 일부 프로그램은 이미 yum install php55를 작성했습니다. 프로그램이 중단됨) rh- 접두사 없이.

다음으로 PHP7.0을 설치하세요:

[root@localhost]# yum install rh-php70

설치 후 실제로 PHP는 /opt/rh 디렉터리에 설치됩니다.

此时如果你运行php命令,系统依然会提示你command not found。这是因为,SCL的风格就是把软件对系统的影响减少到最小,甚至安装完PHP,php命令都不会被添加到 $PATH 变量中,所以你没法直接执行软件中的命令的。需要通过 scl enable 命令显示执行:

先看看SCL安装了哪些软件:

[root@localhost]# scl -lrh-php70

可以看到我们在系统安装了一个rh-php70,先启用它并执行命令:

[root@localhost]# scl enable rh-php70 "php -v"PHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )Copyright (c) 1997-2016 The PHP GroupZend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

命令成功执行了。要是每一条命令都要这么执行,太麻烦了!不要紧,你可以不用每次执行一条命令,而是直接执行 bash 命令,那么新开的shell就能自动识别php了:

[root@localhost]# scl enable rh-php70 bash[root@localhost]# php -vPHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

[root@localhost ~]# php -m[PHP Modules]
bz2
calendar...

SCL以 scl enable 方式管理软件,虽然在使用上增加了一点点的麻烦,但这绝对地保证了系统稳定性。而且这么做还有一个好处:就是系统上可以多个PHP版本共存而互相不冲突。方便你测试代码或者框架,在各个版本PHP上的兼容性。

总之,要做一个严谨的运维,本篇还是十分推荐用SCL管理你系统上的软件。

推荐教程:《php视频教程

위 내용은 CentOS에 PHP7을 설치하는 올바른 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제