我是新來的PHP和編碼一般,我跟隨this php-MediaWiki tutorial。我正在使用Nitrous.io LAMP堆棧,根據教程的說明,我已經安裝了Zend框架來使用它的REST客戶端。 我的Apache服務器似乎工作正常,當我使用Nitrous預覽功能運行下面的代碼示例時,HTML搜索框就會按預期顯示。但是,當我輸入搜索詞並返回時絕對沒有任何反應。很明顯,PHP代碼失敗,但沒有錯誤消息來幫助我診斷問題。我假設問題在於Zend部分,我想知道在教程發佈後的四年中,Zend_Rest_Client功能已被更改或棄用。 我查看了文檔,但作爲noob,我很難破譯問題出在哪裏。 我會很感激,如果有人能給我一個指示我應該做些什麼來獲得這個代碼的工作。PHP和Zend_Rest_Client
<html>
<head></head>
<body>
<h2>Search</h2>
<form method="post">
Search: <input type="text" name="q" />
</form>
<?php
// if form submitted
if (isset($_POST['q'])) {
// load Zend classes
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Rest_Client');
try {
// initialize REST client
$wikipedia = new Zend_Rest_Client('http://en.wikipedia.org/w/api.php');
// set query parameters
$wikipedia->action('query');
$wikipedia->list('search');
$wikipedia->srwhat('text');
$wikipedia->format('xml');
$wikipedia->srsearch($_POST['q']);
// perform request
// iterate over XML result set
$result = $wikipedia->get();
} catch (Exception $e) {
die('ERROR: ' . $e->getMessage());
}
?>
<h2>Search results for '<?php echo $_POST['q']; ?>'</h2>
<ol>
<?php foreach ($result->query->search->p as $r): ?>
<li><a href="http://www.wikipedia.org/wiki/
<?php echo $r['title']; ?>">
<?php echo $r['title']; ?></a> <br/>
<small><?php echo $r['snippet']; ?></small></li>
<?php endforeach; ?>
</ol>
<?php
}
?>
</body>
</html>