Restler 3.0.0rc6。Restler在部署到測試服務器後找不到任何路由
我在本地開發環境中的Restler中設置了一個簡單的REST服務。當我移動到測試服務器時,Restler找不到任何路由。
我有項目通過遠程主機與git同步。我剛剛將最新的本地更改提交到測試服務器,因此文件夾設置應該沒問題。
錯誤在Routes.php
行362在方法find
誰試圖找到匹配請求的url的API方法。在該文件中的指令:
$p = Util::nestedValue(static::$routes, "v$version");
回報$p = NULL
。在通話帕拉姆值:
static::$routes is an empty array - array().
$version is int(1)
此代碼後一個條件觸發如果$p = NULL
異常。
我已經嘗試了mininum Hello世界的例子,並總是得到同樣的問題。
由於該應用在我的本地服務器上正常工作,我可以考慮在我的測試服務器中配置了一些配置,但它無法跟蹤它是什麼。由於我不知道從哪裏開始,我只是提供一些信息以防萬一。
我包括我的文件夾配置:
html/api/ -> index.php and custom class files
html/api/data-base -> database acces files
html/api/vendor -> Restler
我的index.php文件
<?php
require_once 'vendor/restler.php';
require_once('data-base/data-base-pdo.php');
use Luracast\Restler\Restler;
$r = new Restler();
$r->addAPIClass('Individuals');
$r->addAPIClass('Injuries');
$r->addAPIClass('Measurements');
$r->addAPIClass('Sessions');
$r->addAPIClass('Reports');
$r->handle();
我的一個類文件:
<?php
use Luracast\Restler\RestException;
class Individuals
{
public $db;
public function __construct() {
$this->db = DataBase::getInstance();
}
public function index() {
return $this->db->individualsSelect();
}
public function get($id) {
try {
return $this->db->individualsSelectOne($id);
} catch(mysqli_exception $e) {
throw new RestException(500, $e->getMessage(), array(), $e);
} catch(InvalidArgumentException $e) {
throw new RestException(400, $e->getMessage(), array(), $e);
}
}
public function put($id, $request_data) {
try {
return $this->db->individualsUpdate($id, $request_data);
} catch(mysqli_exception $e) {
throw new RestException(500, $e->getMessage(), array(), $e);
} catch(InvalidArgumentException $e) {
throw new RestException(400, $e->getMessage(), array(), $e);
}
}
/**
* @url GET {individuals_id}/injuries
*/
public function injuries($individuals_id) {
try {
return $this->db->injuriesSelectByIndividual($individuals_id);
} catch(mysqli_exception $e) {
throw new RestException(500, $e->getMessage(), array(), $e);
} catch(InvalidArgumentException $e) {
throw new RestException(400, $e->getMessage(), array(), $e);
}
}
/**
* @url GET {individuals_id}/measurements
*/
public function measurements($individuals_id) {
try {
return $this->db->measurementsSelectByIndividual($individuals_id);
} catch(mysqli_exception $e) {
throw new RestException(500, $e->getMessage(), array(), $e);
} catch(InvalidArgumentException $e) {
throw new RestException(400, $e->getMessage(), array(), $e);
}
}
/**
* @url GET {individuals_id}/sessions
*/
public function sessions($individuals_id) {
try {
return $this->db->sessionsSelectByIndividual($individuals_id);
} catch(mysqli_exception $e) {
throw new RestException(500, $e->getMessage(), array(), $e);
} catch(InvalidArgumentException $e) {
throw new RestException(400, $e->getMessage(), array(), $e);
}
}
}