Xampp 上的 Symfony 项目返回 500 个内部服务器错误

Posted

技术标签:

【中文标题】Xampp 上的 Symfony 项目返回 500 个内部服务器错误【英文标题】:Symfony project on Xampp returning 500 internal server errors 【发布时间】:2018-01-05 16:39:56 【问题描述】:

我有一个由开发人员团队开发的社交网络项目。我正在尝试通过 Xampp 在我的 localhost 上运行它,并将网站升级为显示一些静态页面的基本 html 版本。此时,我收到许多内部服务器错误,我想查询这背后的原因是否是我的服务器配置不正确。我没有使用服务器的经验,并且花了很长时间单击下面的文档。注意到许多“拒绝访问”错误后,我假设它是服务器配置。我也一直在搜索我的 apache 文件以找出答案,但没有成功。

[2017 年 7 月 29 日星期六 19:36:54.460754] [ssl:warn] [pid 10816:tid 492] AH01909:www.example.com:443:0 服务器证书不包含 与服务器名称匹配的 ID [Sat Jul 29 19:36:54.591630 2017] [核心:警告] [pid 10816:tid 492] AH00098:pid 文件 C:/xampp/apache/logs/httpd.pid overwritten -- 不干净的关闭 以前的 Apache 运行? [2017 年 7 月 29 日星期六 19:36:54.709621] [ssl:warn] [pid 10816:tid 492] AH01909: www.example.com:443:0 服务器证书确实 不包括与服务器名称匹配的 ID [Sat Jul 29 19:36:55.727316 2017] [mpm_winnt:notice] [pid 10816:tid 492] AH00455: Apache/2.4.23 (Win32) OpenSSL/1.0.2h php/5.6.28 已配置 -- 恢复 正常操作 [2017 年 7 月 29 日星期六 19:36:55.727316] [mpm_winnt:notice] [pid 10816:tid 492] AH00456:Apache Lounge VC11 服务器建成时间:7 月 7 日 2016 11:13:22 [2017 年 7 月 29 日星期六 19:36:55.727316] [核心:通知] [pid 10816:tid 492] AH00094:命令行: 'c:\xampp\apache\bin\httpd.exe -d C:/xampp/apache' [7 月 29 日星期六 19:36:55.730318 2017] [mpm_winnt:notice] [pid 10816:tid 492] AH00418: 父:创建子进程 6844 [2017 年 7 月 29 日星期六 19:36:57.050472] [ssl:warn] [pid 6844:tid 540] AH01909: www.example.com:443:0 服务器 证书不包含与服务器名称匹配的 ID [Sat 2017 年 7 月 29 日 19:36:57.255467] [ssl:warn] [pid 6844:tid 540] AH01909: www.example.com:443:0 服务器证书不包含 ID 匹配服务器名称 [Sat Jul 29 19:36:57.296495 2017] [mpm_winnt:notice] [pid 6844:tid 540] AH00354: Child: 从 150 开始 工作线程。 [2017 年 7 月 29 日星期六 19:37:40.131691] [authz_core:error] [pid 6844:tid 1844] [client ::1:57744] AH01630: 客户端被拒绝 服务器配置:C:/xampp/htdocs/Vabble/Vabble-code/app/, 推荐人://http://localhost/vabble/ [Sat Jul 29 19:37:40.241477 2017] [authz_core:error] [pid 6844:tid 1844] [客户端 ::1:57744] AH01630:客户端被服务器配置拒绝: C:/xampp/htdocs/Vabble/Vabble-code/src/,引用者:http://localhost/vabble/ [Sat Jul 29 19:37:57.587627 2017] [:error] [pid 6844:tid 1828] [client ::1:57752] PHP 致命错误:未捕获的异常 带有消息“SQLSTATE[HY000] [1049] 未知数据库的“PDOException” 'symfony'' 在 C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:43\nStack 跟踪:\n#0 C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php(43): PDO->__construct('mysql:host=127....', 'root', NULL, Array)\n#1 C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOMySql\Driver.php(45): Doctrine\DBAL\Driver\PDOConnection->__construct('mysql:host=127....', '根', NULL, 数组)\n#2 C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Connection.php(360): Doctrine\DBAL\Driver\PDOMySql\Driver->connect(Array, 'root', NULL, 数组)\n#3 C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Connection.php(429): 教义\DBAL\Connection->connect()\n#4 C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Connection.php(389): Doctrine\DBAL\Connection->getDatabas in C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\AbstractMySQLDriver.php 在第 103 行,推荐人:http://localhost/vabble/Vabble-code/ [Sat Jul 29 19:43:56.135682 2017] [:error] [pid 6844:tid 1852] [client ::1:57884] PHP 致命错误:未捕获的异常“PDOException”与 消息'SQLSTATE [HY000] [1049]未知数据库'symfony'' C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php:43\nStack 跟踪:\n#0 C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOConnection.php(43): PDO->__construct('mysql:host=127....', 'root', NULL, Array)\n#1 C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\PDOMySql\Driver.php(45): Doctrine\DBAL\Driver\PDOConnection->__construct('mysql:host=127....', '根', NULL, 数组)\n#2 C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Connection.php(360): Doctrine\DBAL\Driver\PDOMySql\Driver->connect(Array, 'root', NULL, 数组)\n#3 C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Connection.php(429): 教义\DBAL\Connection->connect()\n#4 C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Connection.php(389): Doctrine\DBAL\Connection->getDatabas in C:\xampp\htdocs\Vabble\Vabble-code\vendor\doctrine\dbal\lib\Doctrine\DBAL\Driver\AbstractMySQLDriver.php 在第 103 行,推荐人:http://localhost/vabble/Vabble-code/ [星期六 2017 年 7 月 29 日 20:03:08.221738] [authz_core:error] [pid 6844:tid 1852] [客户端 ::1:58357] AH01630:客户端被服务器配置拒绝: C:/xampp/htdocs/Vabble/Vabble-code/app/,引用者:http://localhost/vabble/ [2017 年 7 月 29 日星期六 20:03:08.271769] [authz_core:error] [pid 6844:tid 1852] [client ::1:58357] AH01630: 客户端被服务器配置拒绝: C:/xampp/htdocs/Vabble/Vabble-code/src/,引用者:http://localhost/vabble/ [2017 年 7 月 29 日星期六 20:06:49.828650] [authz_core:error] [pid 6844:tid 1828] [client ::1:58396] AH01630: 客户端被服务器配置拒绝: C:/xampp/htdocs/Vabble/Vabble-code/app/,引用者:http://localhost/vabble/ [2017 年 7 月 29 日星期六 20:18:45.773285] [authz_core:error] [pid 6844:tid 1868] [client ::1:58525] AH01630: 客户端被服务器配置拒绝: C:/xampp/htdocs/Vabble/Vabble-code/app/,引用者:http://localhost/vabble/ [2017 年 7 月 29 日星期六 20:18:45.833328] [authz_core:error] [pid 6844:tid 1868] [client ::1:58525] AH01630: 客户端被服务器拒绝 配置:C:/xampp/htdocs/Vabble/Vabble-code/src/,referer:http://localhost/vabble/

【问题讨论】:

“客户端被服务器配置拒绝”看起来“服务器”上没有正确配置。 花时间阅读了所有我认为是的,但是,指出为什么会很麻烦。 "未知数据库 'symfony''。检查 parameters.yml 并更改数据库凭据。 【参考方案1】:

基于这一行: PDOConnection->__construct('mysql:host=127....', 'root', NULL, Array)\n

和消息:Unknown database 'symfony'

您似乎没有为您的数据库正确设置app/config/parameters.yml 文件。

您需要找出您的 MySQL 根用户并通过,然后从命令行创建一个可以访问您将用于 Symfony 项目的数据库的用户。然后运行这些命令:

mysql -u root -p
******
CREATE DATABASE vabble;
use mysql;
GRANT ALL PRIVILEGES ON vabble.* TO 'james'@'192.168.0.2' IDENTIFIED BY 'mypass';

然后像这样编辑您的app/config/parameters.yml 文件:

parameters:
    database_host:     localhost
    database_name:     vabble
    database_user:     james
    database_password: mypass

然后你可以从 Symfony 项目的根文件夹运行:

php bin/console doctrine:database:create

这应该会为您设置好一切。您可以在此处的 Symfony 文档中阅读所有这些内容:

https://symfony.com/doc/current/doctrine.html#a-simple-example-a-product

【讨论】:

参数:database_host:127.0.0.1 database_port:null database_name:symfony database_user:root database_password:null 来自您的评论。我是否正确地说我的数据库名称实际上是错误的?这是您当前的参数。 James,不是数据库名不对,你也可以叫它'symfony',然后改用create database symfony。我只是根据您的项目名称将其称为vabble。可以使用 MySQL 命令show databases; 列出所有数据库,然后use vabble; 更改为vabble 数据库;和describe vabble 来描述这些表格。这些都是标准的 MySQL 命令。 好的,我现在明白了。通过更改已经建立的项目本身中的参数文件,然后在 symfonys php 中创建一个学说数据库,然后它应该通过我在参数文件中定义的本地主机运行平台。我的理解正确吗? 是的,之前您配置了一个不存在的 'symfony' 数据库,并使用 root 用户以 null 密码连接 - 这永远不会工作。 如果这是正确的答案詹姆斯,你能点击我的答案的复选标记。这有助于人们在 SO 上搜索答案。【参考方案2】:

第一个致命错误似乎是PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1049] Unknown database 'symfony''

仔细检查您在 Symfony 中的数据库连接,并确保您可以在本地环境中访问该数据库。

【讨论】:

以上是关于Xampp 上的 Symfony 项目返回 500 个内部服务器错误的主要内容,如果未能解决你的问题,请参考以下文章

Symfony3 服务器返回“500 Internal Server Error”

htaccess - XAMPP上的互联网服务器错误500 [关闭]

本地主机 xampp 上的 500 内部服务器错误

网页下带有 xampp v3.2.1 文件的 Symfony2.3 没有响应

如何处理包含 500 多个项目的 Symfony 表单集合

Symfony vichUploader tmp 文件不存在