使用 Phpize 安装 PHP 的常用功能扩展模块 | 学习笔记

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 快速学习使用 Phpize 安装 PHP 的常用功能扩展模块

开发者学堂课程【阿里云上搭建 LAMP 环境实战:使用 Phpize 安装 PHP 的常用功能扩展模块】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/663/detail/11091


使用 Phpize 安装 PHP 的常用功能扩展模块

 

内容介绍:

一、为 php 安装 opensal 模块

二、安装 memcache 扩展模块

三、安装 Redis

 

一、为 php 安装 opensal 模块

打开会话终端,输入 cd

ls

cd /root/lamp/

ls

cd php-7.3.10

image.png

如图显示的是 php 的家目录,接着进入到php的扩展目录,输入

cd ext/

ls

结果如下

image.png

可以看到 php 自带很多扩展

我们在安装时可以通过一个参数指定来安装这些,比如现在要安装 openssl,输入

cd openssl/

ls

就可以进入oenssl的源码包。如果后期想完成再安装,在编译 php 时没有通过参数指定安装它,现在想后期安装,但是这里没有 config,输入

./configure

结果显示 bash: ./configure: No such file or directory

后期想安装需要用到命令 phpize,因为这个命令可以建立 php 的外挂模块,专门建立 php 的扩展模块,例如输入

/usr/local/php/bin/phpize

ls

显示没有 config.m4文件,查看目录下有 config0.m4文件,是这个文件的模板,修改名字:

mv config0.m4 config.m4

/usr/local/php/bin/phpize

ls

可以看到目录下的 config.m4 文件已经生成我们需要编译的 config 文件

image.png

再来输入

yum -y install autoconf

先执行该命令

再输入

/usr/local/php/bin/phpize

ls

clear

ls

ls configure

结果显示 configure

显示出该文件后再进行安装,输入

./configure--with-openssl--with-php-config=/usr/local/php/bin/php-config

make && make install

可以看到现在已经安装好了 php 的扩展目录

image.png

已经编译完成,输入查看在目录下:

cd /usr/local/php/lib/php/extensions/no-debug-zts-20180731/

ls

结果显示 opcache.so openssl.so

已经存在 openssl 模块。完成了编译安装并且指定目录

验证打开 phpinfo,刷新搜索 openssl,发现扩展中没有找到 openssl,没有安装成功。

回到终端,我们需要在 php 配置文件中指定扩展目录

输入vi /usr/local/php/etc/php.ini

打开后搜索输入 ?extension

可以看到有很多扩展都没有打开,在末行添加输入

extension_dir=”/usr/local/php/lib/php/extensions/no-debug-zts-20180731/”

extension=”openssl.so”

然后关闭,修改完 php 配置文件后要重启,输入

/usr/local/apache2/bin/apachectl stop

/usr/local/apache2/bin/apachectl start

再来打开 php.info 刷新,查找 openssl

image.png

如图,此时可以查找到。以上就是 openssl 的扩展模块

再来安装 memcache 扩展模块

 

二、安装 memcache 扩展模块

memcache 的扩展不是在 php 的源码下,需要自己下载源码,输入

cd

ls

cd /lamp/

ls

显示如图

image.png

再来解压该扩展,输入

tar -xf pecl-memcache-4.0.4.tar.gz

cd pecl -memcache-4.0.4

ls

可以看到有config.m4,接着输入

/usr/local/php/bin/phpize

ls

结果出现configure配置文件

再输入

./configure --with-php-config=/usr/local/php/bin/php-config

clear

make && make install

安装完成,可以看到放到了该目录下

image.png

输入

ls /usr/local/php/lib/php/extensions/no-debug-zts-20180731/

结果显示 memcache.so  opcache.so  openssl.so

多出了 memcache.so

再输入

vi /usr/local/php/etc/php.ini

再搜索输入?openssl.so

在刚刚的 extension=”openssl.so”;下继续添加

extension=”memcache.so”;

退出后再重启输入

/usr/local/apache2/bin/apachectl stop

/usr/local/apache2/bin/apachectl start

再打开 php.info 中刷新搜索 memcache

可以看到如图

image.png

以上步骤证明已经可以在 php 中调用 memcache 这些扩展函数去操作 memcache数据库,memcache 数据库可以在远程其他机器中安装,也可以在本地安装。我们先来测试本地安装。

安装 memcache 服务

image.png

Memcache 用到了 libevent 库,libevent 是安装 memcache 的唯一前提条件,是一套跨平台的事件处理接口的封装,memcached 使用 libevent 来进行网络并发连接的处理,能够在很大并发的情况下,仍旧保持快速的响应能力。

输入 cd -

ls

tar -xf memcached-1.5.19.tar.gz

cd memcacheed-1.5.19

ls

clear

yum -y install libevent-devel

clear

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

make && make install

编译安装完成后和mysql一样是一个独立的数据库软件,有启动用户,输入

useradd -r -s /sbin/nologin memcache

clear

/usr/localmemcache/bin/memcached -umemcache &

netstat -tnl

结果显示端口11211,服务器安装启动成功

之后输入

telnet localhost 80

yum -y install telnet

telnet localhost 80

Exit

想访问任何端口都可以,输入

telnet localhost 11211

成功连接 memcached 服务器后,与 memcached 通信的客户端命令并不多,并且使用方法都非常简单。仅有5个常用的命令(区分大小写),如下所示。

stats:当前所有 memcached 服务器运行的状态信息。

add:添加一个数据到服务器。

set:替换一个已经存在的数据。如果数据不存在,则和add命令相同。

get:从服务器端提职指定的数据。

delete:删除指定的单个数据。如果要清除所有数据,可以使用flush_all指令。如果以上命令执行发生错误,MemCache.协议会对错误部分做出提示。主要有3个错误提示的指令,如下所示。

ERROR:普通的错误信息,如指令错误。

CLIENT_ERROR <错误信息>。客户端错误。

ISERVER_ERROR<错误信息>。服务器端错误。


三、安装 Redis

image.png

输入cd..

ls

tar -xf redis-5.0.6.tar.gz

cd redis -5.0.6

ls

make install PREFIX=/usr/local/redis

安装完成后需要做一个配置文件,输入

cd /usr/local/redis/

ls

mkdir etc

cd /root/lamp/redis-5.0.6

mv redis.conf /usr/local/redis/etc/

然后来修改一下配置文件里的一个属性

vi /usr/local/redis/etc/

搜索输入?daemonize

将 daemonize no 改为 daemonize yes

接下来就可以开启 redis,输入

/usr/local/redis/bin/redis-server/usr/local/redis/etc/redis.conf

netstat -tnl

结果显示端口6379,说明已经启动成功

再来进行测试,比如输入

Telnet localhost 6379

设置一个变量,输入

set one 1000

get one

1000

quit

就可以获取该值

输入 clear

接下来安装 redis 扩展模块,输入

cd

cd lamp/

ls

tar -xf phpredis-develop.zip

unzip phpredis-develop.zip

clear

ls

cd php

cd phpredis-develop

ls

/usr/local/php/bin/phpize

ls

执行完成后直接编译安装,输入

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

安装完后输入

Ls /usr/local/php/lib/php/extensions/no-debug-zts-20180731/

结果多出 redis.so 扩展模块

输入vi /usr/local/php/etc/php.ini

搜索找到 memcache

在下面添加 extension=”redis.so”;

退出后重启,然后打开 php.info

最后再来安装 composer,它是 php 的依赖管理工具

在一般情况下,安装包的数据多数是从 https://github.com 上下载的,安装包的元数据是从 http://packagist.org上下载的。

国内镜像服务器所做的就是缓存所有安装包和元数据到国内的机房并通过国内的CDN 进行加速,这样下载安装代码和更新加速的过程更加稳定。

国内镜像服务器 URL为https://pkg.phpcomposer.com。项目中常用的 Composer代码包如下

包名

说明

地址

guzzlehttp/guzzle

功能强大的HTTP请求库

https//packagist.org/packages/guzzlehttp/guzzle

hashids/hashides

数字ID转字符串。支持多语言

https://packagist.org/packages/hashids/hashids

intervention/image

图片处理,获取图片信息、上传、格式转换、缩放﹑裁剪等

https://packagist.org/packages/intervention/image

phpmailer/phpmaler

邮件发送

https://packagist.org/packages/phpmailer/phpmailer

phpoffice/phpexcel

excel操作类

https://packagist.org/packages/phpoffice/phpexcel

monolog/monolog

日志操作,composer官方就是用它做例子的

https://packagist.org/packages/monolog /monolog

catfen/medoo

简单易用的数据库操作类,支持各种常见数据库

https://packagist.org/packages/catfan/medoo

league/route

路由调度

https://packagist.org/packages/league/route

Carbon/Carbon

时间操作

https:/packagist.org/packages/nesbot/carbon

输入

cd

ls

cd lamp/

ls

vget https://getcomposer.org/composer.phar

下载完后进行拷贝,将文件放在指定目录,输入

Cp composer.phar /usr/local/bin/composer

Chmod u+x /usr/local/bin/composer

接下来可以设置国内镜像加速命令:

/usr/local/bin/composer \

显示找不见该命令,需要将该命令链接到环境变量中,输入

ln -s /usr/local/php/bin/php /usr/local/bin/

/usr/local/bin/composer -V

结果显示可执行,再输入

/usr/local/bin/composer \

以上就设置成了该镜像,但是具体的我们可以切换。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
Java 程序员 PHP
01 入门PHP就来我这-安装phpstudy
路老师的PHP入门教程,带你从零开始学习PHP。首先下载并安装phpStudy,接着配置域名和端口,最后创建并运行第一个PHP文件。内容详实,适合初学者。
46 3
01 入门PHP就来我这-安装phpstudy
|
2月前
|
NoSQL MongoDB PHP
PHP7 MongDB 安装与使用
10月更文挑战第19天
38 1
PHP7 MongDB 安装与使用
|
2月前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
2月前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
33 0
|
2月前
|
缓存 PHP C语言
宝塔PHP8.1安装fileinfo拓展失败解决办法
在宝塔面板安装PHP8.1后,fileinfo扩展安装失败,手动尝试也报错。通过分析错误信息,在Makefile中修改CFLAGS添加`-std=c99`,并执行`make clean`清除缓存后,重新编译安装成功。最后在php.ini中启用fileinfo扩展并重启PHP服务。注意需调整CFLAGS为`-std=c99 -g`,去掉`-O2`。
165 0
|
PHP
MAMP PRO 安装php swoole扩展
MAMP PRO 安装php swoole扩展
381 0
MAMP PRO 安装php swoole扩展
|
4月前
|
存储 安全 Linux
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
|
缓存 Linux PHP
17.17 LNMP安装php扩展模块
我们已经知道 LNMP 一键安装包默认只安装了最基本的 Nginx+Mysql+PHP 环境,并没有安装扩展功能模块,如果需要安装扩展模块该怎么办?
256 0
17.17 LNMP安装php扩展模块
|
Linux PHP
Linux环境下安装pecl工具,PHP扩展便捷安装
Linux环境下安装pecl工具,PHP扩展便捷安装
487 0
|
存储 Linux PHP
CentOS7 部署安装FastDFS多机版(三)——安装FastDFS的PHP扩展
CentOS7 部署安装FastDFS多机版(三)——安装FastDFS的PHP扩展
171 0
CentOS7 部署安装FastDFS多机版(三)——安装FastDFS的PHP扩展