最近我的客户要求我将他公司的网络应用程序移动到另一个托管服务提供商。我已经移动了ftp文件,导入了数据库并更改了新数据库的参数。但它根本不起作用返回“500”错误。似乎utf8编码有问题,但我不知道如何解决它。我不是程序员。我只知道这个应用程序是在symfony中完成的。有些东西有用,您可以登录和查看发票等,但不能创建新的。
编辑:
我发现了一个出错的函数;
public function getClientsAjaxAction()
{
$encoders = array(new XmlEncoder(), new JsonEncoder());
$normalizers = array(new GetSetMethodNormalizer());
$serializer = new Serializer($normalizers, $encoders);
$user = $this->get('security.context')->getToken()->getUser();
$clients = $this->getDoctrine()->getEntityManager()
->getRepository('\fh\Bundle\Entity\Client')
->findBy(array('companyIndex' => $user->getCompanyIndex()));
$response = new Response($serializer->serialize($clients, 'json'));
$response->headers->set('Content-Type', 'application/json');
return $response;
}
我能做些什么让它发挥作用?
答案 0 :(得分:0)
我找到了它的位置:
border: 2px solid #00AA66;
改变了这个:
vendor/symfony/symfony/src/Symfony/Component/Serializer/Encoder/JsonEncode.php
到此:
public function encode($data, $format, array $context = array())
{
$context = $this->resolveContext($context);
$encodedJson = json_encode($data, $context['json_encode_options']);
$this->lastError = json_last_error();
return $encodedJson;
}
问题解决了。