php 数据分析架构,LAMP架构(PHP的安装解析)

本文详细介绍了如何在Linux环境下配置PHP5作为Apache的模块,包括下载、解压、编译及安装过程,强调了编译时的关键选项如mysql、mysqli和pdo的驱动。同时,解释了API和驱动的概念,以及mysql、mysqli、mysqlnd和PDO在数据库交互中的作用。最后,讨论了PHP与数据库交互的API和驱动的差异,特别是PDO作为统一接口的优势。
摘要由CSDN通过智能技术生成

PHP官网www.php.net

当前主流版本为5.6/7.1

一,下载php包:

二,解压php包:

tar zxf php-****.tar.gz

进入php文件中

cd php-****

三,开始编译:

./configure --prefix=/usr/local/php

--with-apxs2=/usr/local/apache2.4/bin/apxs (apxs2是apache的工具,把拓展的模块放到apache的modules中,直接写到配置文件)

--with-config-file-path=/usr/local/php/etc  (指定配置文件所在路径,php.ini)

--with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config

(三种不同的mysql的驱动,指定库)

--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在apache的模块中

[root@localhost local]# du -sh apache2.4/modules/libphp5.so

37Mapache2.4/modules/libphp5.so

php加载的模块都是静态的

用/usr/local/php/bin/php -m 命令查看

php是做为httpd的拓展模块存在的。

/usr/local/apache2.4/conf/http.conf 是apache的配置文件,在里面搜索/php5.so 会发现有一行loadmodule,就是ap2x工具加上的

四、php中mysql,mysqli,mysqlnd,pdo到底是什么

MYSQL 也叫 Original MySQL,PHP4版本的MYSQL扩展,从PHP5起已经被废弃,并从PHP7开始已经被移除。

MYSQLI 叫做 “MySQL增强扩展”。

MYSQLND MYSQL NATIVE DIRVER 叫做MYSQL “官方驱动”或者更加直接点的叫做“原生驱动”

PDO PHP Data Objects PHP数据对象,是PHP应用中的一个数据库抽象层规范。

一,什么是API?

一个应用程序接口(Application Programming Interface的缩写),定义了类,方法,函数,变量等等一切 你的应用程序中为了完成特定任务而需要调用的内容。在PHP应用程序需要和数据库进行交互的时候所需要的API 通常是通过PHP扩展暴露出来(给终端PHP程序员调用)。mysql和mysqli提供了这样的API.

二,什么是驱动?驱动是一段设计用来于一种特定类型的数据库服务器进行交互的软件代码。驱动可能会调用一些库,比如MySQL客户端库或者MySQL Native驱动库。 这些库实现了用于和MySQL数据库服务器进行交互的底层协议。在PHP拓展的角度看,MYSQL和MYSQLI还是比较上层的拓展,依赖更底层的库去连接和访问数据库,上文所说的MYSQLND就是所说的底层数据库驱动。

从应用的层面上看,我们通过PHP 的MYSQL或者MYSQLi扩展提供的API去操作数据库。

从底层来看,MYSQLND提供了底层和数据库交互的支持(可以简单理解为和MySQL server进行网络协议交互)。

而PDO,则提供了一个统一的API接口,使得你的PHP应用不去关心具体要连接的数据库服务器系统类型。也就是说,如果你使用PDO的API,可以在任何需要的时候无缝切换数据库服务器。比如MYSQL,SQLITE任何数据库都行。

即从大部分功能上看,PDO提供的API接口和MYSQLI提供的接口对于普通的增删改查效果是一致的。

五、拓展:

查看Nginx、apache、MySQL和PHP的编译参数:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值