顺便说一句,我正在使用 zend 框架,并且我已经实现了 ZendX_JQuery_Form_Element_AutoComplete。它在我的本地系统上按预期工作,但在实时服务器上,当我开始输入时,它给了我 500 内部服务器错误。我已经有这个问题 3 天了,我用谷歌搜索并阅读了很少的解决方案。
希望有人可以提供帮助。
服务器和开发系统都运行 Ubuntu,我试图在两个系统上保持相同的设置。
编辑:
我已按照建议检查了链接和权限,但问题仍然存在。所以我所做的是逐行逐行运行代码,然后我来到了触发错误 500 的 Controller 中的以下行:
$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);
}
我真的希望你们能发现一些东西,否则替代方案是使用选择元素但列表太长或让用户输入名称并单击提交按钮进行搜索。这也不理想,因为拼写不常见或不容易弄清楚,因此查询可能并不总是有效。
最佳答案
查看 chmod
对于在服务器上运行的文件。我的猜测是权限设置为您的托管不批准的内容。
关于php - 服务器上的 500 内部服务器错误,但在开发系统上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4616249/