欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php-extension - php 使用phpize 安装扩展readline , 安装后可以进入命令行交互模式但敲入第二行php代码后报错!!

程序员文章站 2022-06-06 09:14:32
...
环境:centos 7
php版本 : 5.5.20

描述:php 使用phpize 安装扩展readline , 安装后可以进入命令行交互模式但敲入第二行php代码后报错!!

报错:

[root@localhost readline]# php -a
Interactive mode enabled

php > $a='hello';
php: symbol lookup error: /usr/local/php/lib/php/extensions/no-debug-zts-20121212/readline.so: undefined symbol: append_history

readline 安装步骤:

  1. 进入php 的源码目录中的扩展目录

    cd ~/myFile/php-5.5.20/ext/readline

    执行phpize 命令,并开始编译:

    phpize

    ./configure

    make && make install

    最后修改配置文件php.ini ,添加如下一行:

    extension = readline.so

    保存退出。

    测试交互模式是否打开:

    [root@localhost readline]# php -a
    Interactive mode enabled

php > $a='hello';
php: symbol lookup error: /usr/local/php/lib/php/extensions/no-debug-zts-20121212/readline.so: undefined symbol: append_history

请问这个问题是什么原因引起的?该怎么解决呀?

回复内容:

环境:centos 7
php版本 : 5.5.20

描述:php 使用phpize 安装扩展readline , 安装后可以进入命令行交互模式但敲入第二行php代码后报错!!

报错:

[root@localhost readline]# php -a
Interactive mode enabled

php > $a='hello';
php: symbol lookup error: /usr/local/php/lib/php/extensions/no-debug-zts-20121212/readline.so: undefined symbol: append_history

readline 安装步骤:

  1. 进入php 的源码目录中的扩展目录

    cd ~/myFile/php-5.5.20/ext/readline

    执行phpize 命令,并开始编译:

    phpize

    ./configure

    make && make install

    最后修改配置文件php.ini ,添加如下一行:

    extension = readline.so

    保存退出。

    测试交互模式是否打开:

    [root@localhost readline]# php -a
    Interactive mode enabled

php > $a='hello';
php: symbol lookup error: /usr/local/php/lib/php/extensions/no-debug-zts-20121212/readline.so: undefined symbol: append_history

请问这个问题是什么原因引起的?该怎么解决呀?

你的 php 的 readline 模块和所使用的 readline 库的版本差异太大了。