linux php 7 配置:错误:请重新安装 readline - 我找不到 readline.h,但它已安装

art*_*lay 5 php linux configure php-7

我正在从源代码编译 php7 并预编译了一些依赖项,/home/mybin例如我有 openssl

   /home/mybin/bin/openssl
   /home/mybin/include/openssl/*.h
Run Code Online (Sandbox Code Playgroud)

我也读过

/home/mybin/include/readline/readline.h
Run Code Online (Sandbox Code Playgroud)

使用 php 编译选项

./configure \
CC=/home/mybin/bin/gcc \
--prefix=/home/_cgi/php7 \
--bindir=/home/mybin/bin \
--libdir=/home/mybin/lib \
--with-libdir=/home/mybin/lib64 \
--includedir=/home/mybin/include \
--include-openssl \
Run Code Online (Sandbox Code Playgroud)

我已经尝试了以下 readline 选项

--with-readline=/home/mybin/include/readline
OR 
--with-readline=/home/mybin/
OR
--with-readline
Run Code Online (Sandbox Code Playgroud)

所有变体都以configure: error: Please reinstall readline - I cannot find readline.h

从源代码构建的所有其他依赖项都/home/mybin没有问题。你能建议我应该设置什么标志吗readline.h可以找到吗?

谢谢艺术

ako*_*ako 12

首先在Debian-9上,我libreadline-dev使用以下命令安装了软件包

apt-get install libreadline-dev

readline.h然后在搜索使用命令的路径时

dpkg -S readline.h

它给了我以下输出:

nodejs: /usr/share/doc/nodejs/api/readline.html libreadline-dev:amd64: /usr/include/readline/readline.h

所以该文件位于/usr目录中

最后我配置php使用--with-readline=/usr一切都很好。


Jos*_*eia 5

对于 readline 你需要安装

sudo apt install -y libedit-dev libreadline-dev


art*_*lay 1

请参阅http://stackoverflow.com/questions/35891777/linux- Correct-flag-to-pass-gcc-mcrypt-h-location 了解如何解决此问题的详细说明,因为两者都是相关的