PHP

添加PHP的readline模块报错configure: error: Please reinstall libedit

报错详情如下:
checking for libedit readline replacement... yes, shared
configure: error: Please reinstall libedit - I cannot find readline.h
请问这是因为什么?
已邀请:

Geek小A - coolman

赞同来自:

找到办法了,安装如下方式解决:
wget http://thrysoee.dk/editline/libedit-20170329-3.1.tar.gz
tar -xf libedit-20170329-3.1.tar.gz
cd libedit-20170329-3.1
phpize
./configure --prefix=/data/app/libedit -with-php-config=
/data/app/php56/bin/php-config
make && make install
但是进入到php-5.6.30/ext/readline执行:
./configure --with-php-config=/data/app/php56/bin/php-config --with-libedit=/data/app/libedit
又报:
checking for readline in -ledit... no
configure: error: edit library required by readline not found
这又杂回事?

Geek小A - coolman

赞同来自:

Ubuntu安装包错入记录:
正在设置 php5-cli (5.6.26+dfsg-1) ...
dpkg: 处理软件包 php5-cli (--configure)时出错:
已安装 php5-cli 软件包 post-installation 脚本 子进程返回错误状态 10
dpkg: 依赖关系问题使得 php5-readline 的配置工作不能继续:
php5-readline 依赖于 php5-cli (= 5.6.26+dfsg-1);然而:
软件包 php5-cli 尚未配置。

dpkg: 处理软件包 php5-readline (--configure)时出错:
依赖关系问题 - 仍未被配置
在处理时有错误发生:
php5-cli
php5-readline
E: Sub-process /usr/bin/dpkg returned an error code (1)

Sub-process /usr/bin/dpkg returned an error code (1)


 
可以如下解决:
cd /var/lib/dpkg/
sudo mv info/ info_bak # 现将info文件夹更名
sudo mkdir info # 再新建一个新的info文件夹
sudo apt-get update # 更新
sudo apt-get -f install # 修复
sudo mv info/* info_bak/ # 执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_bak文件夹下
sudo rm -rf info # 把自己新建的info文件夹删掉
sudo mv info_bak info # 把以前的info文件夹重新改回名

Geek小A - coolman

赞同来自:

没辙了,拷贝通过APT按照的,到我编译目录加载:
apt-get install php5-readline -y
scp /usr/lib/php5/20131226/readline.so /data/app/php56/lib/php/extensions/no-debug-non-zts-20131226/

要回复问题请先登录注册