我一般会选用源码安装 php,安装 php 的过程指定要安装的扩展,但是避免不了缺少某个扩展未安装导致程序运行报错的问题。以 fileinfo 为例,介绍一下怎么添加 php 扩展。

1. 准备

通常遇到报错:xxx function undefined,而这个函数是系统函数的话,那一定是你缺少某个扩展。添加扩展也非常简单。首选要确认当前的 php 是哪个版本,不同版本的 php 扩展会有些许出入。然后找到 Php 源码目录,也就是从网上下载下来并且解压的 php 文件包。添加扩展的时候需要在源码包里面去执行命令。

2. 安装 fileinfo 扩展

1. 确认 php 版本

php -v
# PHP 7.4.4 (cli)

2. 找到 php 可执行文件的位置

whereis php
# php: /usr/local/php /usr/local/php/bin/php

可以看出 php 执行文件在 /usr/local/php/bin 目录里面

那么尝试执行 phpize,保证这个文件存在,phpize 命令在添加扩展的时候需要用到

/usr/local/php/bin/phpize -v
# Configuring for:
# PHP Api Version:         20190902
# Zend Module Api No:      20190902
# Zend Extension Api No:   320190902

3.进入php源码目录

我的习惯是网络下载的软件会放在 /usr/local/src 下面,

cd /usr/local/src/php-7.4.4
cd /etc
cd fileinfo

扩展都在源码目录的 etc 下面,里面有 curl,gd,ftp 等等扩展目录,我要安装 fileinfo,所以到 fileinfo 目录里面

4.开始安装

确定目录下面有 config.m4 文件,如果没有,应该会有 config0.m4 文件,把 config0.m4 复制一份为 config.m4,如果没有这个文件,会报错:can not found config.m4

/usr/local/php/bin/phpize
./configure
make && make install

如果这几行命令运行下来都没有报错,那么说明扩展文件已经生成,并且已经自动移入相应位置。接下来就是修改 php.ini,追加 extension=fileinfo.so 到 php.ini 中。

5.修改php.ini,加载扩展文件

查看 php.ini 的位置

php -i | grep php.ini
#Configuration File (php.ini) Path => /usr/local/php/etc
#Loaded Configuration File => /usr/local/php/etc/php.ini

可以看到 php.ini 的位置: /usr/local/php/etc/php.ini

vim /usr/local/php/etc/php.ini
#添加extension=fileinfo.so,保存
php -m | grep fileinfo
#fileinfo

看到输出 fileinfo,至此,fileinfo 扩展安装完毕!另外可以使用 pecl 命令安装,更方便快捷!

原文:Linux 上安装 PHP 扩展

更多学习内容请访问:

八重樱:腾讯T3-T4标准精品PHP架构师教程目录大全,只要你看完保证薪资上升一个台阶(持续更新)​zhuanlan.zhihu.com

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的官方群点击此处。

cli php 增强包_Linux 上安装 PHP 扩展相关推荐

  1. mac谷歌上安装xpath扩展程序

    问题描述 mac谷歌上安装xpath扩展程序. 解决方案: 1.下载链接 2.将下载的zip文件进行解压 3.点击谷歌浏览器右上角三个点,然后点击设置,再点击扩展程序 4.点击右上角开发者模式 5.点 ...

  2. linux上安装python、igraph源码包_linux ubuntu 安装/卸载/删除python-igraph方法

    如何在Ubuntu 16.10上安装python-igraph? 首先使用以下命令更新系统: sudo add-apt-repository ppa:igraph/ppa # Add the Laun ...

  3. 关于商贸宝财务增强包的实施安装说明

    由于T3产品启用防窜货J8政策时,重新发布了新的防窜货金盘,但此程序不支持商贸宝财务增强包的加密序列, 所以无法使用,需要特殊处理 方案A(推荐):应用该方案,财务部分可支持2013准则 1.正常安装 ...

  4. linuxpython23同时_linux上安装python3同时保留python2

    linux上安装python3同时保留python2?这个就要用到上篇说到的path变量了. 具体介绍及操作 这里我下载python3.6版本来进行介绍 django默认数据库为sqlite3,所以安 ...

  5. Linux上安装EPEL扩展包

    EPEL(Extra Packages for Enterprise Linux)是由Fedora Special Interest Group维护的 Enterprise Linux(RHEL.Ce ...

  6. linux 用root安装mysql数据库_Linux上安装Mysql及简单的使用详解

    1. 安装mysql sudo apt-get update sudo apt-get install mysql-server sudo apt-get install python-mysqldb ...

  7. linux安装mysql不成功怎么处理_Linux上安装MySQL时出现不兼容的解决办法

    Linux上安装MySQL时出现不兼容的解决办法 在linux 上安装mysql rpm的时候,安装不成功 MySQL-client-5.5.36-1.linux2.6.x86_64.rpm MySQ ...

  8. linux vbox 增强功能,linux上安装virtualbox增强工具

    CentOS虚拟机上安装VBoxLinuxAdditions VirtualBox上选择虚拟机(如CMe10) > 设置 > 存储 > 控制器: IDE > 挂载VBoxGue ...

  9. 在ubuntu上安装apc扩展

    2019独角兽企业重金招聘Python工程师标准>>> 安装apc扩展 sudo apt-get install php-apc, 在安装之后重启apache就可以使用了,但是重启n ...

最新文章

  1. 传授“带权重的负载均衡实现算法”独家设计思路!
  2. 在阿里云上以Daemon进程方式运行SAP Cloud Connector portable版本的尝试
  3. eclipse远程连接hadoop_hadoop集群搭建详细方法
  4. 使用“管道”与“应用程序生命周期”重构:可插拔模块
  5. 如何用 Python 实时监控文件?方法有三种你喜欢哪一种?
  6. caddy 作为微服务的 API gateway
  7. Android 触摸事件转换为鼠标事件
  8. 干货:怎么提高科技成果转移转化成效?
  9. 怎样让硬盘分区显示整数大小
  10. 记一次前端性能优化——vue-cli4优化首屏加载
  11. 是谁用Python弹奏一曲东风破
  12. 关于C语言中feof的使用
  13. 全球首个AI模型开发管理标准正式发布,九章云极DataCanvas公司助力AI工程化新发展
  14. MyBatis-Spring-Boot-Starter学习
  15. 稳定的NTP时间同步服务器集群:ntp.api.bz[原创]
  16. 炫酷手持滚动弹幕生成小工具微信小程序源码多样化模板
  17. window及谷歌浏览器常用快捷键
  18. Linux centOS7.2 *64位 上面安装WordPress《个人记录》
  19. 百度拆除互联网围墙,与美团、小红书等十余家企业互联互通
  20. 在jupyter中安装第三方库

热门文章

  1. python字典长度可变吗_[python] 根据字典中的信息生成列表,每次都会额外变长。...
  2. 如何克隆服务器系统数据,Linode面板clone克隆功能实现服务器数据完整迁移
  3. c性能大容量cket_5千左右预算,既轻薄(高颜值)又高性能的笔记本推荐(兼顾Pr剪辑、Ps修图、CAD制图、办公游戏)...
  4. 牛客JS编程大题(一)
  5. ionic-cordova 支付宝支付插件cordova-plugin-alipay-v2使用篇
  6. mysqldump 备份命令使用中的一些经验总结
  7. Ubuntu21.04设置国内镜像源
  8. pstack: Input/output error failed to read target解决
  9. ssh localhost报错解决:ubuntu@localhost: Permission denied (publickey).
  10. Mac搭建本地服务器及测试demo