COM_STMT_PREPARE 响应大小错误。收到 7. LARAVEL 错误
Wrong COM_STMT_PREPARE response size. Received 7. LARAVEL ERROR
我有一个使用 laravel 开发的博客。在我的本地 PC 上,一切正常。但是当我将它上传到实时共享托管服务器时,它会抛出如下错误:
ErrorException in MySqlConnector.php line 124:
Wrong COM_STMT_PREPARE response size. Received 7
我的服务器配置如下
- Server: MariaDB
- Server version: 10.1.20-MariaDB - MariaDB Server
- PHP 5.6
我找不到任何解决方案。任何帮助将不胜感激。
到处研究后我得出的结论是问题出在共享主机的数据库引擎上,可能是权限之类的,所以我找到的解决方案是在单独的服务中创建数据库。我使用了 sql9.freemysqlhosting.net,目前运行良好。
注:上面这个思路是抄别人的,我试了一下,成功了
我也遇到了同样的问题。我的虚拟主机提供商是 000webhost。只需在数据库配置文件 (config/database.php) 中将此 PDO 属性 PDO::ATTR_EMULATE_PREPARES
设置为 true,它应该可以正常工作。
例如:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
//.......
'options' => [PDO::ATTR_EMULATE_PREPARES => true,]
],
此外,如果您已缓存配置或在生产环境中 运行ning,您可能需要 运行 php artisan config:cache
。
两者都在里面
(1) /bootstrap/cache/config.php
(2) /config/database.php
对于您的特定数据库服务器驱动程序,您需要添加:
'options' => [PDO::ATTR_EMULATE_PREPARES => true]
例如:
'driver' => 'mysql',
'host' => 'localhost',
'port' => '3306',
//.....
'options' => [PDO::ATTR_EMULATE_PREPARES => true]
但请不要将它添加到两个文件中:
- /bootstrap/cache/config.php
- /config/database.php
因为当我在 /config/database.php 中添加它时,我一直遇到同样的错误,所以经过数小时的谷歌搜索,我意识到这是因为 /bootstrap/cache/config.php 是一种由 Laravel .env 文件和 /config/database.php 等文件组成的缓存文件,当你设置API_KEY .env 文件中的东西 php artisan key:generate.
我有一个使用 laravel 开发的博客。在我的本地 PC 上,一切正常。但是当我将它上传到实时共享托管服务器时,它会抛出如下错误:
ErrorException in MySqlConnector.php line 124:
Wrong COM_STMT_PREPARE response size. Received 7
我的服务器配置如下
- Server: MariaDB
- Server version: 10.1.20-MariaDB - MariaDB Server
- PHP 5.6
我找不到任何解决方案。任何帮助将不胜感激。
到处研究后我得出的结论是问题出在共享主机的数据库引擎上,可能是权限之类的,所以我找到的解决方案是在单独的服务中创建数据库。我使用了 sql9.freemysqlhosting.net,目前运行良好。
注:上面这个思路是抄别人的,我试了一下,成功了
我也遇到了同样的问题。我的虚拟主机提供商是 000webhost。只需在数据库配置文件 (config/database.php) 中将此 PDO 属性 PDO::ATTR_EMULATE_PREPARES
设置为 true,它应该可以正常工作。
例如:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
//.......
'options' => [PDO::ATTR_EMULATE_PREPARES => true,]
],
此外,如果您已缓存配置或在生产环境中 运行ning,您可能需要 运行 php artisan config:cache
。
两者都在里面 (1) /bootstrap/cache/config.php (2) /config/database.php
对于您的特定数据库服务器驱动程序,您需要添加:
'options' => [PDO::ATTR_EMULATE_PREPARES => true]
例如:
'driver' => 'mysql',
'host' => 'localhost',
'port' => '3306',
//.....
'options' => [PDO::ATTR_EMULATE_PREPARES => true]
但请不要将它添加到两个文件中:
- /bootstrap/cache/config.php
- /config/database.php
因为当我在 /config/database.php 中添加它时,我一直遇到同样的错误,所以经过数小时的谷歌搜索,我意识到这是因为 /bootstrap/cache/config.php 是一种由 Laravel .env 文件和 /config/database.php 等文件组成的缓存文件,当你设置API_KEY .env 文件中的东西 php artisan key:generate.