我正在从源代码编译php7并在/home/mybin
中预编译了许多依赖项,例如我有openssl in
/home/mybin/bin/openssl
/home/mybin/include/openssl/*.h
我也读到了
/home/mybin/include/readline/readline.h
使用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 \
我已经尝试了以下readline选项
--with-readline=/home/mybin/include/readline
OR
--with-readline=/home/mybin/
OR
--with-readline
所有变化以configure: error: Please reinstall readline - I cannot find readline.h
结尾
从source和/home/mybin
构建的所有其他依赖项都没有问题。你能说出我能设置的旗帜,以便找到readline.h
吗?
thx艺术
请参阅http://stackoverflow.com/questions/35891777/linux-correct-flag-to-pass-gcc-mcrypt-h-location以获得有关如何解决此问题的详细说明,因为两者都是相关的
对于readline,您需要安装
sudo apt install -y libedit-dev libreadline-dev
首先在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
,一切都很好。