찾다
백엔드 개발PHP7CentOS에 PHP5 및 PHP7을 설치하는 방법

CentOS에 PHP5 및 PHP7을 설치하는 방법

권장(무료): PHP7

PHP5 설치

  • 압축이 풀린 바이너리 패키지를 다운로드하세요

[root@test-a src]# cd /usr/local/src/
[root@test-a src]# wget  http://cn2.php.net/distributions/php-5.6.32.tar.bz2
[root@test-a src]# tar jxvf php-5.6.32.tar.bz2
  • PHP 컴파일 및 설치
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc  --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif

#报错:
...
configure: error: Cannot find OpenSSL's <evp.h>

# 安装openssl
[root@test-a php-5.6.32]# yum install openssl-devel -y
...
Total size: 14 M
Total download size: 151 k
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
libselinux-utils-2.5-12.el7.x8 FAILED
http://mirrors.163.com/centos/7/os/x86_64/Packages/libselinux-utils-2.5-12.el7.x86_64.rpm: [Errno 14] HTTP Error 416 - Requested Range Not Satisfiable
Trying other mirror.

Error downloading packages:
  libselinux-utils-2.5-12.el7.x86_64: [Errno 256] No more mirrors to try.

# 安装过程报错,需要安装deltarpm
[root@test-a php-5.6.32]# yum install deltarpm
...
Downloading packages:
No Presto metadata available for base
libselinux-utils-2.5-12.el7.x8 FAILED
http://mirrors.163.com/centos/7/os/x86_64/Packages/libselinux-utils-2.5-12.el7.x86_64.rpm: [Errno 14] HTTP Error 416 - Requested Range Not Satisfiable
Trying other mirror.


Error downloading packages:
  libselinux-utils-2.5-12.el7.x86_64: [Errno 256] No more mirrors to try.
# 还是报错,由于之前用的Base源是163的,换回默认的Base源再试就OK了... :(
# 继续初始化配置过程,报错
...
checking for BZip2 support… yes checking for BZip2 in default path… not found configure: error: Please reinstall the BZip2 distribution 
[root@test-a php-5.6.32]# yum -y install bzip2-devel
# 继续报错
...
checking for stdarg.h... (cached) yes
checking for mcrypt support... yes
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
# 继续报错
[root@test-a php-5.6.32]# yum install -y libmcrypt-devel

#继续报错
...
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
configure: error: Cannot find libmysqlclient_r under /usr/local/mysql.
Note that the MySQL client library is not bundled anymore!
# PHP默认是去/usr/local/mysql/lib/mysql/搜索,没有找到报错,复制或者做个软连接就行.
[root@test-a php-5.6.32]# cp /usr/local/mysql/lib/libmysqlclient.so /usr/local/mysql/lib/mysql/libmysqlclient_r.so

# 再次安装,苍了个天,看见Thank you...啦 成功!
...
Thank you for using PHP.

config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands


# 编译
[root@test-a php-5.6.32]# make
...
Build complete.
Don't forget to run 'make test'.

# 安装
[root@test-a php-5.6.32]# make install</evp.h>
  • PHP 모듈 보기(모두 정적)
[root@test-a php-5.6.32]#  /usr/local/php/bin/php -m
[PHP Modules]
bz2
Core
ctype
date
dom
ereg
exif
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
mcrypt
mysql
mysqli
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
soap
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib

[Zend Modules]

# 拷贝配置文件
[root@test-a php-5.6.32]# cp php.ini-production /usr/local/php/etc/php.ini

# 查看php信息
[root@test-a php-5.6.32]#  /usr/local/php/bin/php -i

PHP7 설치

  • 설치 패키지를 다운로드하고 압축을 푼다
[root@test-a src]# wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2
[root@test-a src]# tar jxvf php-7.1.6.tar.bz2
  • 초기화 구성
[root@test-a src]# cd php-7.1.6/
[root@test-a php-7.1.6]#  ./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc  --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
# 出错
....
checking for mysql_set_server_option in -lmysqlclient_r... no
configure: error: wrong mysql library version or lib not found. Check config.log for more information.
# 由于php已经带了这个模块,所以编译时不指定mysqli的路径,继续
[root@test-a php-7.1.6]#  ./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc  --with-pdo-mysql=/usr/local/mysql --with-mysqli --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif

#出错
...
checking for mysql_commit in -lmysqlclient_r... (cached) no
configure: error: PDO_MYSQL configure failed, MySQL 4.1 needed. Please check config.log for more information.

#编译时不指定pdo的路径,继续
root@test-a php-7.1.6]#  ./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc  --with-pdo-mysql --with-mysqli --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif

...
Thank you for using PHP.

config.status: creating php7.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands
  • 컴파일 및 설치
[root@test-a php-7.1.6]# make
[root@test-a php-7.1.6]# make install
[root@test-a php-7.1.6]# ls /usr/local/apache2.4/modules/libphp*
/usr/local/apache2.4/modules/libphp5.so  /usr/local/apache2.4/modules/libphp7.so

다른 관련 학습 내용도 더 많이 주목해주세요PHP7 튜토리얼칼럼~

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

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.