调用未定义的函数readline()?

时间:2014-04-23 08:04:29

标签: php readline dropbox-php

我正在将Dropbox集成到基于PHP的网站中。当我尝试运行以下代码时。我得到了这个致命错误:在最后一行调用未定义的函数readline()

require_once "dropbox-sdk/Dropbox/autoload.php";
use \Dropbox as dbx;
$appInfo = dbx\AppInfo::loadFromJsonFile("app-info.json");

echo "<pre>";
print_r($appInfo);
echo "</pre>";

$webAuth = new dbx\WebAuthNoRedirect($appInfo, "PHP-Example/1.0");

echo "<pre>";
print_r($webAuth);
echo "</pre>";

$authorizeUrl = $webAuth->start();
echo "1. Go to: " . $authorizeUrl . "\n<br>";
echo "2. Click \"Allow\" (you might have to log in first).\n<br>";
echo "3. Copy the authorization code.\n<br>";
$authCode = \trim(\readline("Enter the authorization code here: "));

我来过不同的论坛,人们说它会在命令行中工作,但我不明白怎么办?有什么想法吗?

3 个答案:

答案 0 :(得分:18)

或者只是用它来模拟它

if(!function_exists("readline")) {
    function readline($prompt = null){
        if($prompt){
            echo $prompt;
        }
        $fp = fopen("php://stdin","r");
        $line = rtrim(fgets($fp, 1024));
        return $line;
    }
}

答案 1 :(得分:4)

readline()用于通过命令行运行Php而不是通过Web浏览器运行。

如果安装了chek,请在服务器控制台上写一下。

php -i | grep Configure

Prolly你还没有安装,你应该编译自己或你的托管管理员,如果他们允许的话。

答案 2 :(得分:2)

刚刚在Ubuntu上遇到过这个问题。

找到了这个答案:https://askubuntu.com/a/264329/166

此方案中的解决方案是安装包php5-readline