首页 > 后端开发 > PHP7 > CentOS如何安装PHP5和PHP7

CentOS如何安装PHP5和PHP7

coldplay.xixi
发布: 2023-02-17 19:10:02
转载
2881 人浏览过

CentOS如何安装PHP5和PHP7

推荐(免费):PHP7

安装PHP5

  • 下载解压二进制包

1

2

3

[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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

./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

登录后复制
  • 查看php的模块(都是静态的)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

[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

  • 下载安装包解压

1

2

[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

登录后复制
  • 配置初始化

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

[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

登录后复制
  • 编译安装

1

2

3

4

[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中文网其他相关文章!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
centos下mysql启动报错
来自于 1970-01-01 08:00:00
0
0
0
centos7 - git的linux版本没有centos的?
来自于 1970-01-01 08:00:00
0
0
0
centos7 - centos 7,添加nginx为开机启动?
来自于 1970-01-01 08:00:00
0
0
0
为什么不是存放代码在linux的centos中
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板