Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调用未定义的函数readline()?_Php_Readline_Dropbox Php - Fatal编程技术网

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

Php 调用未定义的函数readline()?,php,readline,dropbox-php,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 "<

我正在将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: "));
require_once“dropbox sdk/dropbox/autoload.php”;
使用\Dropbox作为dbx;
$appInfo=dbx\appInfo::loadFromJsonFile(“app info.json”);
回声“;
打印(appInfo);
回声“;
$webAuth=newdbx\WebAuthNoRedirect($appInfo,“PHP示例/1.0”);
回声“;
打印(webAuth);
回声“;
$authorizeUrl=$webAuth->start();
echo“1.转到:”$授权URL。“\n
”; echo“2.单击\”允许\“(您可能必须先登录)。\n
”; echo“3.复制授权码。\n
”; $authCode=\trim(\readline(“在此处输入授权代码:”);
我曾经去过不同的论坛,人们说它可以在命令行中工作,但我不明白怎么做?有什么想法吗?

用于在命令行上运行,而不是通过web浏览器

要检查是否已将其安装在服务器上,请键入:


可能您还没有安装它,您应该自己编译它,或者询问您的主机管理员是否允许这样做。

或者使用它来模拟它


刚刚在Ubuntu上出现了这个问题

找到了这个答案:


此场景中的解决方案是安装软件包
php5 readline

这是最奇怪的事情,但感谢您的努力。如果(!function_存在(“readline”),防止恼人的重定义错误,请注意,您可以更换
fopen(“php://stdin“,“r”)
带有
STDIN
PHP常量,其定义方式相同。
php -i | grep Configure
if(!function_exists("readline")) {
    function readline($prompt = null){
        if($prompt){
            echo $prompt;
        }
        $fp = fopen("php://stdin","r");
        $line = rtrim(fgets($fp, 1024));
        return $line;
    }
}