0

我正在研究 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 中继续显示空白页

4

1 回答 1

0

某些代码可以在 CGI 或 CLI 中运行而不是其他代码的唯一区别是因为您系统上安装的每个 PHP 版本都有不同的 php.ini。我知道我们工作中的 CentOS 服务器有 2 个用于 PHP 的文件夹、一个 CLI 和一个 APACHE/HTTP,它们都有不同的配置。

我建议你跑

phpinfo()

在网络上查看加载的模块和 PHP 的版本。然后,从命令行,使用以下命令运行 C​​LI 版本:

php -v
php -m

并比较版本和模块列表。

您可能会发现 json 模块未安装在不起作用的模块中,这就是它失败的原因!

于 2013-11-23T11:33:53.823 回答