Я использую Zend Framework, кстати, и я реализовал ZendX_JQuery_Form_Element_AutoComplete. Он работает, как и ожидалось, в моей локальной системе, но на живом сервере, когда я начинаю печатать, он выдает мне 500 Internal Server Error. У меня есть эта проблема в течение 3 дней, и я погуглил и прочитал довольно мало решений.
Надеюсь, что кто-то может помочь.
Сервер и система разработки работают под управлением Ubuntu, и я попытался сохранить одинаковые настройки в обеих системах.
Edit:
Я проверил ссылки и разрешения, как было предложено, и проблема все еще сохраняется. Поэтому я буквально построчно запускал код, и я пришел к следующей строке в контроллере, которая вызывает ошибку 500:
$response = $groupsmapper->search($this->getRequest()->getParam('term'));
ниже полная функция
public function getallgroupnamesAction()
{
$this->_helper->viewRenderer->setNoRender();
$this->_helper->getHelper('layout')->disableLayout();
$groupsmapper = new Application_Model_GroupsMapper();
$response = $groupsmapper->search($this->getRequest()->getParam('term'));
$json = Zend_Json::encode(array_values($response));
echo $json;
}
и метод поиска groupsmapper похож на
public static function search($term)
{
$groupsmapper = new Application_Model_GroupsMapper();
$response = $groupsmapper->getDbTable()->fetchAll(
$groupsmapper->getDbTable()
->select()
->distinct()
->from(array('groups'), array('group_name'))
);
$no_groups = count($groups_array = $response->toArray());
for ($x = 0; $x < $no_groups; $x++)
{
$groups[] = $groups_array[$x]['group_name'];
}
$filter = function($group) use ($term)
{
if(stristr($group, $term))
return true;
return false;
};
return array_filter($groups, $filter);
}
Я действительно надеюсь, что вы, ребята, сможете что-то заметить, в противном случае альтернативой является использование элемента select, но список будет слишком длинным или позволит пользователю ввести имя и нажать кнопку отправки для поиска. это тоже не идеально, так как написание не является обычным или легко выяснимым, поэтому запрос может не всегда работать.