Ich benutze Zend Framework BTW und ich habe eine ZendX_JQuery_Form_Element_AutoComplete implementiert. Es funktioniert wie erwartet auf meinem lokalen System, aber auf dem Live-Server, wenn ich anfange zu tippen, gibt es mir einen 500 Internal Server Error. Ich habe dieses Problem seit 3 Tagen gehabt und ich habe gegoogelt und ziemlich wenige Lösungen gelesen.500 Interner Server Fehler auf dem Server aber funktioniert auf dem Entwicklungssystem
Hoffe, dass jemand helfen kann.
Sowohl Server als auch dev System laufen Ubuntu und ich habe versucht, das gleiche Setup auf beiden Systemen zu halten.
Edit:
ich die Links und die Erlaubnis eingecheckt haben, wie vorgeschlagen, und das Problem immer noch besteht. Also, was ich tat, war buchstäblich die Code-Zeile-für-Zeile zu laufen, und ich kam in die folgende Zeile in der Steuerung, die den Fehler auslöst, 500:
$response = $groupsmapper->search($this->getRequest()->getParam('term'));
unten ist die komplette Funktion
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;
}
und das Suchverfahren des groupsmapper ist wie so
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);
}
ich wirklich hoffe, euch etwas erkennen kann, andere weisen die Alternativen sind ein ausgewähltes Element verwenden, aber die Liste wird zu lang oder Lassen Sie den Benutzer den Namen eingeben und klicken Sie auf eine Schaltfläche zum Absenden, um zu suchen. Das ist auch nicht ideal, da die Schreibweisen nicht üblich oder leicht herauszufinden sind, daher wird die Abfrage möglicherweise nicht immer ausgeführt.
Was sagt das Fehlerprotokoll tatsächlich über die Details der Fehlermeldung? Ohne weitere Details ist es unmöglich zu sagen. – artlung
Einverstanden. "Error 500" ist völlig generisch. Sie müssen sich das Fehlerprotokoll des Servers ansehen, um zu sehen, was die eigentliche Fehlermeldung ist. – Spudley