PHP在CLI中成功运行但在CGI中没有显示任何内容

时间:2013-11-23 11:26:04

标签: php cgi command-line-interface dropbox-api dropbox-php

我正在使用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中显示空白页

1 个答案:

答案 0 :(得分:0)

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

我建议您运行

phpinfo()

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

php -v
php -m

并比较版本和模块列表。

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