Reproducible: Always Product: dev-lang/php Version: 5.1.4 When using the "readline" function in php I get this error: Fatal error: Call to undefined function readline() Yet my php is built with readline support: # emerge readline dev-lang/php -pv These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] sys-libs/readline-5.1_p4 0 kB [ebuild R ] dev-lang/php-5.1.4 -adabas -apache +apache2 -bcmath +berkdb -birdstep +bzip2 -calendar -cdb -cgi -cjk +cli +crypt -ctype +curl -curlwrappers -db2 -dbase -dbmaker -debug -discard-path -doc -empress -empress-bcs -esoob -exif +fastbuild -fdftk -filepro -firebird -flatfile -force-cgi-redirect -frontbase -ftp +gd -gd-external +gdbm +gmp +hardenedphp -hash -hyperwave-api +iconv +imap -informix -inifile -interbase -iodbc -ipv6 -java-external -kerberos +ldap -libedit -mcve -memlimit +mhash -ming -msql -mssql +mysql -mysqli +ncurses +nls -oci8 (-oci8-instant-client) -odbc -pcntl +pcre -pdo -pdo-external +pic -posix -postgres -qdbm +readline -recode -reflection -sapdb -sasl -session -sharedext -sharedmem -simplexml +snmp -soap +sockets -solid +spell -spl -sqlite +ssl -sybase -sybase-ct -sysvipc -threads -tidy -tokenizer +truetype -unicode -vm-goto -vm-switch -wddx +xml -xmlreader +xmlrpc -xmlwriter -xpm -xsl -yaz -zip +zlib 0 kB # emerge info Portage 2.0.54-r2 (selinux/2005.1/x86/hardened, gcc-3.4.5, glibc-2.3.6-r3, 2.6.11-hardened-r15 i686) ================================================================= System uname: 2.6.11-hardened-r15 i686 Pentium III (Katmai) Gentoo Base System version 1.6.14 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] dev-lang/python: 2.4.2 dev-python/pycrypto: [Not Present] dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=pentium3 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control /var/run/dspam /var/spool/dspam" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe -march=pentium3 -fomit-frame-pointer" DISTDIR="/var/tmp/distfiles" FEATURES="autoconfig ccache digest distcc distlocks loadpolicy sandbox selinux sfperms strict" GENTOO_MIRRORS="http://mirrors.acm.cs.rpi.edu/gentoo/ http://gentoo.mirrors.pair.com/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://gentoo.mirrored.ca/ http://mirror.datapipe.net/gentoo" MAKEOPTS="-j6" PKGDIR="/var/tmp/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="x86 X acpi adns apache2 berkdb bzip2 bzlib crypt cups curl dba dga dio dlloader ethereal expat gcj gd gdbm gif gmp gpm gtk hardened hardenedphp idn imap imlib innodb java javacomm javamail javascript jikes jpeg junit lcms ldap libwww maildir mailwrapper mhash mmx mng motif mysql ncurses nls nptl opengl pam pcre perl php pic png ppds python qt readline samba selinux skey snmp spell sse ssl svga tcpd tiff truetype udev usb vhosts xml xml2 xmlrpc xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTAGE_RSYNC_OPTS I have tried building php without fastbuild, tried building php without hardenedphp, tried running revdep-rebuild, tried uninstalling and reinstalling readline but nothing seems to resolve this. I am using a hardened system and I have selinux disabled.
Where do you call this? The readline module works (and is loaded) only for the CLI php version, mod_php doesn't support it. What does "/usr/lib/php5/bin/php -i | grep -i readline" output? Best regards, CHTEKK.
Thanks for the reply, that was the problem. I was trying to call the function from the apache module. It does work from the command line so I guess I was using it incorrectly. Thanks!