5月25日任务

11.10/11.11/11.12 安装PHP5
11.13 安装PHP7

安装PHP5


apxs: apache的工具,可以不用人工干涉,自动把扩展模块放到apache的modules目录中,并在它的配置文件中加上一行:load module,自动配置上,自动能在用httpd  -M把模块加载出来,通常情况下模块虽然能把.so文件编译出来,但是如果没有改写配置文件是无法加载出来的 (自动配置安装扩展模块)
-config-file-path=/usr/local/php/etc: 指定配置文件所在安装路径, php的配置文件名叫 php.ini

指定mysql路径,指定三种mysql不同的驱动/库 (分别为mysql/-pdo-mysql/mysqli 路径分别为 /usr/local/mysql, /usr/local/mysql, usr/local/mysql/bin/mysql_config)

原因:如果想要php和mysql相互通信,首先要编译出一个支持它的模块,在php代码中定义一个连接mysql的命令(代码),如果没有相应的函数/驱动系统不会识别(PC中的网卡驱动相对于网卡)

mysql/mysqli有区别:(前面是老版本,后面是新版本)

后面的都是指定php所需要的模块

报错:








②make


③make install


cd /usr/local/php



libphp5.so是apache的扩展模块,通过该模块把apache和php连接起来

查看php加载模块的命令:/usr/local/php/bin/php -m


全部都是静态的,也可以支持扩展模块安装

php是否需要启动?:php以apache的扩展模块形式存在,如下图执行apache查看模块命令 /usr/local/apache2.4/bin/apachectl -M,最下面有php5模块, apache如果想运行php文件或脚本,需要借助于php module.



libphp5.so php模块文件


打开apache配置文件

vi  /usr/local/apache2.4/conf/httpd.conf


多了Load一行,如果不想用某个模块,加#注释即可(随用随取模式)

PHP7安装

因为编译php时它的配置文件路径为/usr/local/php/etc 所以还需要执行如下操作:

cp php.ini-production /usr/local/php/etc/php.ini


/usr/local/php/bin/php -i |less可以查看php的一些信息,包括系统,编译参数,配置文件路径等等(因为是空的,所以没有加载任何配置文件)


如下图所示:ls /usr/local/php/etc 没有php.ini配置文件


把源码包中的php.ini-production(用于生产环境中)拷贝到配置文件所在目录下:cp php.ini-production /usr/local/php/etc



再执行 /usr/local/php/bin/php -i |less发现配置文件已加载



下载源码包,解压,再cd到解压后的php7目录下,执行

①./configure ....

②make

③make install



完成后可以查看libphp5和libphp7.so文件


查看大小


查看php7所加载的模块:/usr/local/php7/bin/php -m


查看apache加载几个php模块: /usr/local/apache2.4/bin/apachectl -M


如何按需更改加载模块:在配置文件 /usr/local/apache2.4/conf/httpd.conf中,如果不需要哪个模块可以用#注释掉


猜你喜欢

转载自blog.csdn.net/fuel91/article/details/80472913