I have an Ubuntu 12.04 LTS. And XAMPP for linux 1.7.7.

When I code in php with and call the readline function I get this error message? "Fatal error: Call to undefined function readline()"

I recently found the below thread which pointed out the name of the package that contained the desired readline: How to solve configure: error: readline library not found?

I went ahead and installed # apt-get install libreadline6. But this didnt seem to make a difference. I still get the same error message: "Fatal error: Call to undefined function readline()". Was the thread missing further steps? Can anyone help me?

I am new to Ubuntu.


echo "Simple menu \n" ;

echo "1. Play Sports \n";
echo "2. Play Strategy games \n";

$userInput = readline('Enter something here: ');

  • which version of php are you using? – devav2 Sep 1 '12 at 19:35
  • @Devav2 The PHP version I use is: PHP 5.3.8 – SirBT Sep 2 '12 at 13:34

The default php builds on ubuntu use libedit and instead of readline. (Due to some licensing issue)

To get the readline support you can download the source and build it

|improve this answer|||||
  • any suggestions on how to build it? Any help is greatly appreciated. – SirBT Sep 2 '12 at 13:41
  • Found this link online. This might help you. – devav2 Sep 2 '12 at 13:56

This worked just fine for me on Ubuntu 12.10:

sudo apt-get install php5-readline
|improve this answer|||||
  • Worked for me as well! – Ryre May 28 '14 at 17:05

Install the libreadline6-dev package. Just press Ctrl+Alt+T on your keyboard to open Terminal. When it opens, run the command below.

sudo apt-get install libreadline6-dev
|improve this answer|||||
  • This is only useful if you are actually building a program with readline support. Just installing it does not magically make PHP support the readline extension. – Lekensteyn Sep 1 '12 at 20:43
  • @green7 If you read the beginning of the thread, I did mention that I did install it using: sudo apt-get install libreadline6-dev. – SirBT Sep 2 '12 at 13:43
  • @Lekensteyn How do I build a program with readline support? Doesn't the little program in the initial thread count as a program with readline support? – SirBT Sep 2 '12 at 13:45
  • @SirBT No, you didn't. – green Sep 2 '12 at 14:19
  • @SirBT Only if PHP was compiled with readline support enabled. In that case the binary would depend on libreadline.so.6 and therefore requiring the libreadline6 package. – Lekensteyn Sep 2 '12 at 19:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.