我正在使用Dropbox-API php ..
我的php文件只在CLI中工作..如何使它在CGI中工作?
这是我的search.php
<html>
<pre>
<?php
echo "123";
require_once "dropbox-sdk/Dropbox/autoload.php";
use \Dropbox as dbx;
$accessToken = "xxx";
$dbxClient = new dbx\Client($accessToken, "PHP-Example/1.0");
$_SESSION['Dropbox'] = $dbxClient;
$searchMetadata = $dbxClient->searchFileNames( "/", "soemarko.png", null, false );
print_r($searchMetadata);
$file = "search.json";
file_put_contents($file, json_encode($searchMetadata));
$searchUrl = $dbxClient->createShareableLink("/Soemarko.png");
$link = "link.json";
file_put_contents($link, json_encode($searchUrl));
?>
</pre>
</html>
我有一个表单可以在不同的文件中重定向..
<form action="search.php" method="POST">
<input type="text" name="query"/>
<input type="Submit" value="Submit">
</form>
任何人都可以帮我让我的search.php在浏览器中运行吗? 它目前只显示空白页..
即使我试图添加
header(Location: 'display.php')
将被忽略并继续在search.php中显示空白页
答案 0 :(得分:0)
一些代码可以在CGI或CLI中运行而不是另一个代码的唯一区别是因为您的系统上安装的每个PHP版本都有不同的php.ini。我知道我们的CentOS服务器有2个PHP文件夹,一个CLI和一个APACHE / HTTP,两者都有不同的配置。
我建议您运行
phpinfo()
在网络上查看加载的模块和PHP的版本。然后,从命令行使用以下命令运行CLI版本:
php -v
php -m
并比较版本和模块列表。
您可能会发现json模块没有安装在不起作用的模块中,这就是它失败的原因!