Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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: ');

?>
share|improve this question
    
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
add comment

3 Answers

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

share|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
add comment

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
share|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. –  green7 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
add comment

This worked just fine for me on Ubuntu 12.10:

sudo apt-get install php5-readline
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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