Symfony3 服务器返回“500 Internal Server Error”
Posted
技术标签:
【中文标题】Symfony3 服务器返回“500 Internal Server Error”【英文标题】:Symfony3 The server returned a "500 Internal Server Error" 【发布时间】:2017-02-20 09:56:23 【问题描述】:我想把我的 symfony3 代码托管,毕竟我得到了
哎呀!发生错误
服务器返回“500 内部服务器错误”。
有些东西坏了。请让我们知道您在此期间在做什么 错误发生。我们会尽快修复它。对不起任何 造成的不便。
我的参数.yml
# 这个文件是 composer install 时自动生成的
参数:
database_host: db.if.ktu.lt
database_port: null
database_name: lukmil
database_user: lukmil
database_password: "MyPassword"
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
secret: ThisTokenIsNotSoSecretChangeIt
这就是我从产品日志中得到的
[2016-10-11 18:18:40] request.INFO:匹配路由“route”。 "route":"authentication_register","route_parameters":"_controller":"AppBundle\Controller\DefaultController::indexAction","_route":"authentication_register","request_uri":"http://lukmil.stud.if.ktu.lt/register","method “:“得到” [] [2016-10-11 18:18:40] security.INFO:填充了 TokenStorage 带有匿名令牌。 [] [] [2016-10-11 18:18:40] 请求。关键: 未捕获的 php 异常 Doctrine\DBAL\Exception\ConnectionException: “驱动程序中发生异常:SQLSTATE [28000] [1045] 访问被拒绝 对于用户'root'@'stud.if.ktu.lt'(使用密码:NO)”在 /home/lukmil/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractmysqlDriver.php 第 103 行 “异常”:“[对象] (Doctrine\DBAL\Exception\ConnectionException(代码:0):异常 发生在驱动程序中:SQLSTATE [28000] [1045] 用户访问被拒绝 'root'@'stud.if.ktu.lt'(使用密码:NO)在 /home/lukmil/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:103, Doctrine\DBAL\Driver\PDOException(代码:1045):SQLSTATE[28000] [1045] 用户 'root'@'stud.if.ktu.lt' 的访问被拒绝(使用密码: 否)在 /home/lukmil/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:47, PDOException(代码:1045):SQLSTATE [28000] [1045] 拒绝访问 用户'root'@'stud.if.ktu.lt'(使用密码:NO) /home/lukmil/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:43)" []
我能做什么? 在本地主机上它工作..只是在托管不
【问题讨论】:
永远不要共享密码。我编辑了两次隐藏密码 【参考方案1】:好的,我找到了解决办法。我下载了 putty 程序,然后登录并使用 php bin/console cache:clear --env=prod 清除缓存我的问题解决了:)
【讨论】:
你拯救了我的一天【参考方案2】:$kernel = new AppKernel('prod', true);
在路径/web/app.php
。
【讨论】:
【参考方案3】:确保您的服务器的数据库凭据已正确添加到您的配置文件 (.yml) 中,并且您的数据库用户有权访问您尝试访问的数据库。
最好的做法是创建一个只能访问相应数据库的用户,因为不应直接使用 root。
【讨论】:
这是一所大学托管.. 所以我只有一个用户.. 在 symfony 之前我可以正常访问数据库【参考方案4】:您正在使用没有密码的 root。请不要。
查看Access denied for user 'root@localhost' (using password:NO)
并创建用户访问数据库,尽量不要使用root用户。
去掉密码中的"
参数应该是这样的:
database_port: null
database_name: lukmil
database_user: lukmil
database_password: MyPassword
【讨论】:
好的,有 mysql -u root password '123' 但是我应该在 mysql 哪里执行这些命令? @lukmil 从密码字符串中删除“”。 Symfony 正在读取整个字符串,包括 "【参考方案5】:重要的是检查两次环境。 例如,在我的情况下,我的代码在开发中是完美的: app_dev.php/web/login
但在生产中: /web/登录
我有这个错误:“500 内部服务器错误”
然后我查看了生产日志,发现错误。
也许对你也有帮助。
问候
【讨论】:
以上是关于Symfony3 服务器返回“500 Internal Server Error”的主要内容,如果未能解决你的问题,请参考以下文章
Symfony3 / Nelmio cors / fetch api — 400 错误请求
Symfony3 表单组件试图将 null 传递给 PHP 7 中的类型提示方法