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的官方下载地址为 : http://www.php.net/downloads.php

  • PHP官网www.php.net
  • 当前主流版本为5.6/7.1
  • cd /usr/local/src/
  • 下载源码包:wget http://cn2.php.net/distributions/php-5.6.33.tar.gz
  • 解压安装包:tar -zxvf php-5.6.33.tar.gz
  • yum安装依赖的程序包

yum install –y gcc gcc-c++ libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel libjpeg-turbo-devel.x86_64 epel-release libmcrypt-devel

  • 初始化:

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

apxs为httpd的一个工具,因为有它才会自动的把PHP模块安装到httpd的modules目录下,也就是说php会以一个模块的形式和httpd结合在一起工作。

  • make && make install

  • /usr/local/apache2.4/modules/libphp5.so   //在apache2.4下的php5扩展模块,apache和php结合起来就是通过libphp5.so文件
  • 查看PHP所加载的模块:/usr/local/php/bin/php –m   //所有模块都是静态的

  • 打开apaches的配置文件:vi /usr/local/apache2.4/conf/httpd.conf

  • 拷贝配置文件:cp php.ini-production  /usr/local/php/etc/php.ini  // php.ini-production是生产环境,php.ini-development是开发环境

查看配置:/usr/local/php/bin/php -i | less

配置文件位置是空的

再次查看配置:/usr/local/php/bin/php -i |less

安装PHP7

  • cd /usr/local/src/
  • tar -zxvf php-7.2.2.tar.gz
  • cd php-7.2.2
  • ./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

在编译安装到最后出现configure: WARNING: unrecognized options: --with-mcrypt, --enable-gd-native-ttf错误的提示

表示php7.2不支持这两个选项,把上面两个编译选项删除就可以了。

在phh7.1时,官方就开始建议用openssl_*系列函数代替Mcrypt_*系列的函数。

  • make && make install

在apache模块里有2个php的.so文件

查看PHP模块:

查看apache加载了哪些模块:有2个php模块

用哪个模块就根据自己需求去更改:vim /usr/local/apache2.4/conf/httpd.conf

需要用哪个就把另一个注释掉

  • 拷贝配置文件:cp php.ini-production  /usr/local/php7/etc/php.ini

原文地址:http://blog.51cto.com/415326/2073953

时间: 2024-08-02 12:29:27

2018.2.28 10周1次课的相关文章

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选项则为当

2018.02.26 9周4次课

九周第四次课(2月26日) 11.1 LAMP架构介绍 11.2 MySQL.MariaDB介绍 11.3/11.4/11.5 MySQL安装 11.1 LAMP架构介绍 MySQL.MariaDB介绍 MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿刀),2009年sun公司被oracle公司收购(74亿刀) MySQL官网https://www.mysql.com  最新版本5.7GA/8.0DMR MySQL5.6变化比较大,5.7性