2014-04-23 19 views
7

Tôi đang tích hợp Dropbox vào trang web dựa trên PHP của tôi. Khi tôi cố gắng chạy đoạn mã sau. Tôi đã nhận được lỗi này Lỗi nghiêm trọng: Gọi tới đường dây chức năng không xác định() trên dòng cuối cùng.Gọi đến hàm readline() không xác định?

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

Tôi đã đi qua diễn đàn khác nhau nơi mọi người nói nó sẽ hoạt động trong dòng lệnh, nhưng tôi không hiểu làm thế nào? Bất kỳ ý tưởng ?

Trả lời

2

để chạy Php bằng dòng lệnh chứ không phải trình duyệt web qua.

Viết trên bảng điều khiển máy chủ để chek nếu bạn đã cài đặt.

php -i | grep Configure 

Tuyệt đối bạn chưa cài đặt và bạn nên tự biên dịch hoặc quản trị viên lưu trữ nếu họ cho phép điều này.

17

Hoặc chỉ cần sử dụng để mô phỏng nó

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

đây là điều kỳ quặc nhất nhưng cảm ơn vì công việc xung quanh – relipse

+2

Để được hỗ trợ tốt nhất, bạn nên bọc trong 'if (! Function_exists (" readline "))' ngăn chặn lỗi định nghĩa lại gây phiền nhiễu –

+0

Một thông báo nhỏ, bạn có thể thay thế ' fopen ("php: // stdin", "r") 'với hằng số PHP' STDIN', được định nghĩa theo cùng một cách. –

Các vấn đề liên quan