,2018-2-28 10周1次课 PHP5、PHP7的安装

11.10、11.11、1.12 安装PHP5


[[email protected] ~]# cd /usr/local/src
[[email protected] src]# wget http://cn2.php.net/distributions/php-5.6.30.tar.bz2
(过程省略)
[[email protected] php-5.6.30]# tar jxvf php-5.6.30.tar.bz2
[[email protected] src]# cd php-5.6.30/
[[email protected] src]# ./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
(过程省略)

--prefix

指定安装目录

--with-apxs2

apache的工具,能让不用人工干涉,自动把扩展模块放置到apache的module里,并在配置文件里加上load modules,httpd-M能把模块加载

--with-config-file-path

指定配置文件所在路径,php.ini

--with-mysql

--with-pdo-mysql

--with-mysqli

指定mysql的路径,三种不同mysql的驱动

(老版本用--with-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

指定一些php的模块(直接复制使用)

[[email protected] php-5.6.30]# make

(过程省略)

[[email protected] php-5.6.30]# make install

(过程省略)

[[email protected] php-5.6.30]# ls /usr/local/php/bin/
pear  peardev  pecl  phar  phar.phar  php  php-cgi  php-config  phpize

二进制文件,/usr/local/php/bin/php

[[email protected] php-5.6.30]# /usr/local/php/bin/php -m(apache -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]
[[email protected] php-5.6.30]# /usr/local/apache2.4/bin/httpd -M

(php是作为httpd的扩展模块的形式存在的)

·模块文件:libphp5.so

[[email protected] php-5.6.30]# ll /usr/local/apache2.4/modules/libphp5.so
-rwxr-xr-x. 1 root root 37752768 2月  28 23:19 /usr/local/apache2.4/modules/libphp5.so

·配置文件:

[[email protected] php-5.6.30]# vi /usr/local/apache2.4/conf/httpd.conf

配置文件httpd.conf中,可以看到php5模块,不用则注释掉,随用随取

[[email protected] php-5.6.30]# /usr/local/php/bin/php -i

可以查看配置参数、configuration file的路径等

[[email protected] php-5.6.30]# cp php.ini-production  /usr/local/php/etc/php.ini

·安装常见错误:

1,解决php编译报错configure: error: xml2-config not found. Please check your libxml2 installation

yum install -y libxml2-devel

2,解决php编译报错configure: error: Cannot find OpenSSL's <evp.h>

yum install -y openssl-devel

3,解决php编译报错configure: error: Please reinstall the BZip2 distribution

yum install -y bzip2-devel

4,解决php编译报错configure: error: jpeglib.h not found.

yum install  -y libjpeg-devel

5,解决php编译报错configure: error: png.h not found.

yum install -y libpng-devel

6,解决php编译报错configure: error: freetype-config not found.

yum install -y freetype-devel

7,解决php编译报错configure: error: mcrypt.h not found. Please reinstall libmcrypt.

yum install -y epel-release(先安装扩展源,mcrypt在扩展源中)

yum install -y libmcrypt-devel




11.13 安装PHP7

[[email protected] php-5.6.30]# cd /usr/local/src/
[[email protected] src]# wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2
--2018-02-28 23:52:39--  http://cn2.php.net/distributions/php-7.1.6.tar.bz2
正在解析主机 cn2.php.net (cn2.php.net)... 123.125.23.171, 123.125.23.169, 123.125.23.168, ...
正在连接 cn2.php.net (cn2.php.net)|123.125.23.171|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:15732452 (15M) [application/octet-stream]
正在保存至: “php-7.1.6.tar.bz2”
100%[================================================================================================>] 15,732,452  9.45MB/s 用时 1.6s
2018-02-28 23:52:41 (9.45 MB/s) - 已保存 “php-7.1.6.tar.bz2” [15732452/15732452])
[[email protected] src]# tar jxvf php-7.1.6.tar.bz2
[[email protected] src]# cd php-7.1.6/
[[email protected] 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

(区别于PHP5:--prefix=/usr/local/php7,--with-config-file-path=/usr/local/php7/etc,没有--with-mysql)

(过程省略)

[[email protected] php-7.1.6]# make && make install

(过程省略)

·PHP7模块文件

[[email protected] php-7.1.6]# ll /usr/local/apache2.4/modules/libphp7.so
-rwxr-xr-x. 1 root root 38369056 3月   1 00:05 /usr/local/apache2.4/modules/libphp7.so

·PHP7加载的模块:

[[email protected] php-7.1.6]# /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]

·apache加载了几个PHP:

[[email protected] php-7.1.6]# /usr/local/apache2.4/bin/apachectl -M

·选择使用的PHP:

(用哪个就留着,不用哪一个就注释掉)

原文地址:http://blog.51cto.com/11530642/2074116

时间: 2024-10-07 13:58:53

,2018-2-28 10周1次课 PHP5、PHP7的安装的相关文章

2018.2.28 10周1次课

十周第一次课(2月28日) 11.10/11.11/11.12 安装PHP5 11.13 安装PHP7 11.10/11.11/11.12 安装PHP5 关于PHP版本,目前大多企业都会使用5.4及更高版本,甚至越来越多的企业使用PHP7版本.7和5两个版本还是有很大差异的,据说7版本有很大的性能提升,但7版本还是太新了,很多企业的网站不一定能兼容.新事物取代旧事物是必然趋势,所以在后续的学习和工作中,建议你要与时俱进,敢于尝试.在本实验中,使用的PHP版本为5.6,PHP的官方下载地址为 :

2018.3.1 10周2次课

十周第二次课(3月1日) 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机 11.14/11.15 Apache和PHP结合 配置httpd支持php httpd主配置文件/usr/local/apache2.4/conf/httpd.conf vim /usr/local/apache2.4/conf/httpd.conf   //修改以下4个地方 ServerName 搜索ServerName,把#ServerName www.example

2018.3.5 10周4次课

十周四次课(3月5日) 11.22 访问日志不记录静态文件 11.23 访问日志切割 11.24 静态元素过期时间 11.22 访问日志不记录静态文件 一个网站会有很多元素,尤其是图片.js.css等静态的文件非常多,用户每请求一个页面就会访问诸多的图片.js等静态元素,这些元素的请求都会被记录在日志中.如果一个站点访问量很大,那么访问日志文件增长会非常快,一天就可以达几GB这不仅对于服务器的磁盘空间造成影响,更重要的是会影响磁盘的读写速度.访问日志很重要,我们又不能不记录.还好这些巨量的静态元

2018.4.23 17周4次课

十七周4次课(4月23日) 20.20 告警系统主脚本 20.21 告警系统配置文件 20.22 告警系统监控项目 20.20 告警系统主脚本 创建告警系统的目录: [[email protected] /usr/local/sbin]# mkdir mon [[email protected] /usr/local/sbin]# ls mon  nginx_log_rotate.sh [[email protected] /usr/local/sbin]# cd mon [[email pro

2018.1.9 5周2次课

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 7.6 yum更换国内源 1.恢复之前备份的文件 2. 进入"/etc/yum.repos.d"目录 3.删除"CentOS-Base.repo"文件 4.下载"163.repo"文件 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo curl -O http://mirrors

2018.1.16 6周2次课

六周第二次课(1月16日) 9.4/9.5 sed 9.4/9.5 sed 其实grep工具的功能还不够强大,它实现的只是查找功能,而不能把查找的内容替换.以前用vim操作文档的时候,可以查找也可以替换, 但只限于在文本内部操作,而不能输出到屏幕上.sed工具以及后面要介绍的awk工具就能把替换的文本输出到屏幕上,而且还有其他更丰富的功能.sed和awk都是流式编辑器,是针对文档的行来操作的. sed  '/x/'p filename:匹配x字符 sed  -n  '/x/'p  filenam

2018.4.25 18周1次课

十八周一次课(4月25日) 20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行命令 20.30 expect脚本传递参数 20.27 分发系统介绍 expect是一种能够按照脚本内容里面设定的方式与交互式程序进行"会话"的程序.根据脚本内容,Expect可以知道程序会提示或反馈什么内容以及什么是正确的应答.它是一种可以提供"分支和嵌套结构"来引导程序流程的解释型脚本语言. 我们熟知的shell编程功能虽然很强大,但是

2018.1.12 5周5次课

五周第五次课(1月12日) 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 8.10 shell特殊符号cut命令 1. 特殊符号 * 任意个任意字符 *代表零个或多个任意字符 ? 任意一个字符 ?只代表一个任意的字符 # 注释字符 表示注释说明,即#后面的内容都会被忽略 \ 脱义字符 这个字符会将后面的特殊符号 (如*) 还原为普通字符 | 管道符 这个字符前面曾多次出现过,它的作用是将前面

2018.1.29 8周1次课

八周一次课(1月29日) 10.23 linux任务计划cron 10.24 chkconfig工具 10.25 systemd管理服务 10.26 unit介绍 10.27 target介绍 10.23 linux任务计划cron 其实大部分系统管理工作都是通过定期自动执行某个脚本来完成的, 那么如何定期执行某个脚本呢? 这就要借助Linux的cron功能了 Linux任务计划功能的操作都是通过crontab命令来完成的, 其常用的选项有以下几个. -u:表示指定某个用户,不加- u选项则为当