3

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.

<?php

echo "Simple menu \n" ;

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

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

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

3 Answers 3

2

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

2
  • any suggestions on how to build it? Any help is greatly appreciated.
    – SirBT
    Commented Sep 2, 2012 at 13:41
  • Found this link online. This might help you.
    – devav2
    Commented Sep 2, 2012 at 13:56
1

This worked just fine for me on Ubuntu 12.10:

sudo apt-get install php5-readline
1
  • Worked for me as well!
    – Ryre
    Commented May 28, 2014 at 17:05
0

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
5
  • 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
    Commented Sep 1, 2012 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
    Commented Sep 2, 2012 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
    Commented Sep 2, 2012 at 13:45
  • @SirBT No, you didn't.
    – green
    Commented Sep 2, 2012 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
    Commented Sep 2, 2012 at 19:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .