PHP增量安装readline.so模块支持交互模式

12 篇文章 0 订阅
10 篇文章 0 订阅

问题

由于之前编译安装php的时候,只编译了最基本的模块,今天突然想用PHP的交互模式php -a,就是像python那样,进入交互模式后,可以在命令行模式下执行一些代码打印结果,这对于测试函数得用法是很方便的,但是当我运行php -a的时候,输入echo 1却没有输出。原因是缺少readline模块。

在这里插入图片描述

解决

安装readline,由于它依赖2个模块,re2clibedit-dev,我们先对其进行安装,然后在安装readline。

步骤如下:

1、安装re2c,libedit-dev,yum install libedit-devel -yyum install re2c -y

2、 进入php编译好的源码位置,我的位置是/usr/local/php7.4.5/php-7.4.5cd /usr/local/php7.4.5/php-7.4.5 在这里插入图片描述
3、进入ext,如下找到了readline。

在这里插入图片描述
4、进入readline进行编译

  • cd readline

  • 执行/usr/local/php7.4.5/bin/phpize,这时候会在readline目录下生成相应的configure文件 (其实phpize是一个运行脚本,主要作用是检测php的环境还有就是在特定的目录生成相应的configure文件,这样makeinstall之后,生成的.so文件才会自动加载到php扩展目录下面)
    在这里插入图片描述

  • ./configure --with-php-config=/usr/local/php7.4.5/bin/php-config
    在这里插入图片描述

  • make

  • make install
    在这里插入图片描述

  • 我们进入/usr/local/php7.4.5/lib/php/extensions/no-debug-zts-20190902,看到生成了readline.so
    在这里插入图片描述

  • 在php.ini引入扩展extension=readline.so,我们先用php -r "phpinfo();"|grep php.ini查看用的php.ini的位置。
    在这里插入图片描述

  • 修改php.ini。
    在这里插入图片描述
    在这里插入图片描述

查看效果

在这里插入图片描述

参考连接:https://blog.csdn.net/weixin_38674371/article/details/84714696

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值