PHP Mysql PDO:一般错误:2006 MySQL 服务器已消失

2023-12-14

我当前正在运行一个自定义 php 脚本,该脚本在我的本地主机上运行时工作正常,但是在共享主机上运行时,我收到以下错误:

致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[HY000]:一般错误:2006

MySQL 服务器已经消失了......205 堆栈跟踪:

0 ........ PDO->prepare('SELECT * FROM o...') #1 {main} 在第 205 行抛出......

(我已将文件路径替换为......)

我尝试过的事情:

  1. Adding PDO::ATTR_TIMEOUT => "999999999999999999999",延长任何超时。

  2. 检查了max_allowed_packet(我发现的每个答案都说这就是原因) 我的本地机器当前设置为1048576(1mb) 但是我的托管当前设置为268435456 (268mb)

如果我的本地计算机是 268mb 而我的主机是 1mb,我会理解,但这没有任何意义,因为它是问题的原因,因为事实并非如此。

我确实尝试在我的主机上增加它,但由于它是共享的,我没有更改此全局变量的权限。

我可以尝试的其他想法吗?

仅供参考这是脚本:

//MYSQL PREPARE STATEMENTS
//check to see if a product is in database
$mysql['productcheck'] = $mysql['pdo']->prepare('SELECT * FROM oc_product WHERE sku = ?');
$newproductcount=0;
$x = 0;
while(($maintable[$x]['status']=="active") || ($maintable[$x]['status']=="new") || ($maintable[$x]['status']=="discontinued") || ($maintable[$x]['status']=="archive")) {
    if(($maintable[$x]['status']=="active") || ($maintable[$x]['status']=="new")){
        //check to see if product exsists
        $params[1]=$maintable[$x]['euid'];
        $mysql['productcheck']->execute([$params[1]]);
        if($mysql['productcheck']->rowCount()==0){
            //PRODUCT DOESN'T EXSIST
            echo "Product doesnt exsists!";
            $newproductcount++;
        }
    }
$x++;
}

MySQL 服务器消失错误的其他一些常见原因是:

  • 您(或数据库管理员)已使用 KILL 语句或 mysqladmin Kill 命令终止了正在运行的线程。

  • 您尝试在关闭与服务器的连接后运行查询。这表明应用程序中存在应更正的逻辑错误。

  • 在不同主机上运行的客户端应用程序没有从该主机连接到 MySQL 服务器所需的权限。

  • 客户端的 TCP/IP 连接超时。如果您使用以下命令,则可能会发生这种情况:mysql_options(..., MYSQL_OPT_READ_TIMEOUT,...) 或 mysql_options(..., MYSQL_OPT_WRITE_TIMEOUT,...)。在这种情况下,增加超时可能有助于解决问题。

  • 您遇到了服务器端超时并且客户端中的自动重新连接被禁用(MYSQL结构中的重新连接标志等于0)。

  • 您使用的是 Windows 客户端,并且服务器在发出命令之前已断开连接(可能是因为 wait_timeout 已过期)。

  • Windows 上的问题是,在某些情况下,MySQL 在写入到服务器的 TCP/IP 连接时不会从操作系统收到错误,而是在尝试从连接读取答案时收到错误。

  • 解决这个问题的方法是,如果自上次查询以来已经过了很长时间(这就是 Connector/ODBC 所做的),则在连接上执行 mysql_ping() ,或者在 mysqld 服务器上设置 wait_timeout 太高,以至于实际上永远不会出现出去。

  • 如果您向服务器发送的查询不正确或太大,您也可能会收到这些错误。如果 mysqld 收到太大或无序的数据包,它会认为客户端出现问题并关闭连接。如果您需要大型查询(例如,如果您正在使用大型 BLOB 列),则可以通过设置服务器的 max_allowed_pa​​cket 变量来增加查询限制,该变量的默认值为 4MB。您可能还需要增加客户端的最大数据包大小。有关设置数据包大小的更多信息,请参见第 B.5.2.10 节“数据包太大”。

  • 插入大量行的 INSERT 或 REPLACE 语句也可能导致此类错误。这些语句中的任何一个都会向服务器发送单个请求,而不管要插入的行数是多少;因此,通常可以通过减少每次 INSERT 或 REPLACE 发送的行数来避免错误。

  • 如果您的客户端版本低于 4.0.8 并且您的服务器版本为 4.0.8 及以上,或者反之亦然,如果您发送 16MB 或更大的数据包,您也会丢失连接。

  • 如果主机名查找失败(例如,如果您的服务器或网络所依赖的 DNS 服务器出现故障),也可能会看到此错误。这是因为 MySQL 依赖于主机系统进行名称解析,但无法知道它是否正常工作 — 从 MySQL 的角度来看,该问题与任何其他网络超时没有区别。

  • 如果 MySQL 使用 --skip-networking 选项启动,您还可能会看到 MySQL 服务器已消失错误。

  • 如果 MySQL 端口(默认 3306)被防火墙阻止,从而阻止与 MySQL 服务器的任何连接,则可能会出现另一个导致此错误的网络问题。

  • 对于派生子进程的应用程序,所有这些子进程都尝试使用与 MySQL 服务器的相同连接,您也可能会遇到此错误。通过为每个子进程使用单独的连接可以避免这种情况。

  • 您遇到了服务器在执行查询时死机的错误。

检查此链接:走了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP Mysql PDO:一般错误:2006 MySQL 服务器已消失 的相关文章

  • 如何从 Laravel 5 中的 Public/Images 文件夹中删除图像(URL 数据)

    如何从 laravel 5 中的 public images 文件夹中删除图像文件 我从这个网站找到了一些例子 但我知道他们只是在他们的文件中使用文件名record table 但我正在使用类似的东西URL e g localhost pr
  • PHP 警告 ZipArchive::extractTo():权限被拒绝

    我创建了一个应用程序 它使用 ZipArchive 类 php 中的标准 中的方法 extractTo 并在 Windows 7 上的本地主机 apache 服务器上对其进行了测试 没有任何问题 但是当我在一些unix生产服务器上尝试过它之
  • PSR-4 代码库中条令生成器的解决方法

    在 Windows 机器上使用 Symfony 2 和 Doctrine 我正在尝试 从现有模式生成实体 php app console doctrine mapping import force CoreBundle annotation
  • 配置 .htaccess 以在 PHP 框架 (Silex) 上工作

    我的 Apache2 本地主机 linux 上有一个工作路径 http localhost lab silex web index php hello name 我想成为 http localhost lab silex hello nam
  • 如何将 MySql 表导出/转储到文本文件中,包括字段名称(也称为标题或列名称)

    在 MySql 的解释器中 很容易将表及其字段名称转储到屏幕上 似乎没有简单的方法可以将表导出到制表符分隔或 CSV 输出文件包括它的列标题 我尝试仅使用 SQL 或 Linux 命令行来完成此操作 而不用其他语言编写程序 谢谢 将查询通过
  • 适用于 Windows 的 PHP 支持的 GUI 应用程序

    我知道 PHP 是一种解释性语言 对于基于 Web 的事物来说 不是为在实际操作系统上运行 GUI 应用程序而设计的 但是有没有办法呢 基本上 是否有一个框架 系统允许我创建 本机 基本上是二进制文件 exe 看起来像带有本机控件和所有内容
  • MySQL 中如何使用继承?

    所以我正在读一本关于数据库设计原理的书 并读到了有关继承的章节 但我对如何在 MySQL 中将子类与其超类 连接 感到困惑 The table structure would for example look like this 那么我如何
  • 使用 PDO 在 SQLite 中检索单个(且唯一)行的最简单方法

    我有这个 PDO stmt db gt prepare SELECT FROM channels WHERE id id stmt gt bindValue id id SQLITE3 INTEGER result stmt gt exec
  • CSV 从 UTF8 到 ISO-8859-1

    我正在尝试修改我的 CSV 导出 但它不会将我的 CSV 从 UTF 8 转换 保存为 ISO 8859 1 请问我做错了什么吗 实际上自从修改了这个之后 我得到了一个空的 CSV 文件 php 7 0 x function my Gene
  • 登录后所有页面都应该是https吗?

    这有点难以解释 但我会尽力 有一个网站 每个页面上都有登录表单 其中包含用户名 密码字段 这些页面未使用 SSL 用户填写用户名 密码并提交表单后 表单将被发送到 https 的身份验证页面 对于这种情况我有几个疑问 向 https 页面提
  • 我可以显示我在 PHP 中设置的所有 cookie 吗?

    我正在尝试诊断 cookie 中的错误 但 cookie 的名称不是应有的名称 PHP 有没有办法打印我的域设置的所有 cookie 你有没有尝试过 print r COOKIE
  • 疯狂的 crond 行为。不断使 bash 进程失效

    我有一个看起来像这样的 crontab SHELL bin bash PATH sbin bin usr sbin usr bin MAILTO root HOME 0 59 var www html private fivemin zda
  • 如何获取mysql中一条记录的大小

    如果表包含 TEXT 或 BLOB 类型的字段 如何获取 MySql 中记录的大小 是否可以使用sql语句获取记录或表的大小 要计算字符串或 blob 的大小 以字节为单位 请使用LENGTH YourColumn http dev mys
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • 如何使用 PDO 动态构建查询

    我正在使用 PDO 并想做这样的事情 query dbh gt prepare SELECT FROM table WHERE column value query gt bindParam table tableName query gt
  • php向多个收件人发送邮件

    我可以通过在邮件程序中定义 id 来将电子邮件发送到一个电子邮件 id 但是当用户在表单中键入 消息和电子邮件 id 时 我无法理解如何发送到多个收件人 例如 我正在显示一个带有两个文本区域的表单 一个用于电子邮件 ID 一个用于自定义消息
  • $_SESSION 中保存大量信息可以吗?

    我需要存储许多数组 SESSION以防止从 MySQL 检索信息 可以吗 其中 太多 的信息有多少 SESSION还是没有 太多 谢谢 附 或者更好地使用http php net manual en book memcache php ht
  • NodeJS 和 PHP (Laravel) 集成用于 Socket.IO 实时聊天

    目前我有一个我写过的网站PHP通过Laravel 框架 我已经使用写了一个实时聊天nodeJS with 套接字IO and Express现在我想做的是将它集成到我已经编写的 Laravel 网站中 问题是聊天必须在主页中 当前由 Lar
  • PHP 除法浮点值问题

    当我尝试获取余数时 它给出了无效值 我试图获得两位小数的余数 我得到 3 4694469519536E 18 我的价值观是 x 0 1 y 0 005 我尝试了以下方法 echo ed fmod 0 1 0 005 OutPut 3 469
  • 哪个 PHP 5 版本最常用?

    当我开发将在不同配置的客户端 Web 服务 通常使用共享托管 上使用的应用程序时 我应该假设大多数 Web 服务器都具有哪个 PHP 5 版本 例如 5 2 x 5 3 x 等 在所有使用 PHP 版本 5 的网站中 有 84 9 使用版本

随机推荐

  • R 无法在 ff 过程上分配内存。怎么会?

    我正在使用配备 Intel Xeon 处理器和 24 GB RAM 的 64 位 Windows Server 2008 计算机 我在尝试读取 11 GB gt 2400 万行 20 列 的特定 TSV 制表符分隔 文件时遇到问题 我平常的
  • 如何在 Flutter 应用程序屏幕中显示来自服务器的响应?

    我是颤振新手 我正在尝试在屏幕上显示服务器的响应 我从服务器获取订单历史记录并尝试将其显示在历史记录屏幕上 你该怎么做 void getAllHistory async http post Uri parse https myurlblah
  • 如何使用 Selenium、C# 从 dom 元素获取所有 css 样式

    我的任务是从网页创建最小化的 css 文件 所以我需要来自的价值观所有 css 属性来自所有 dom 元素 但我不知道 如何从特定的 dom 元素获取所有计算的 css 样式 我有以下代码 var chromeOptions new Chr
  • 将 PrimeFaces 添加为 EAR 库时遇到问题

    我想在我的 Java EE 6 Jboss AS 7 1 1Final 应用程序中使用具有以下结构的 PrimeFaces EAR lib primefaces 4 0 jar ejb module jar webbapp1 war web
  • 如何在单击时向元素添加 CSS 类 - React

    如何在单击时将 CSS 类添加到现有 REACT 元素 我创建了一个 JSFiddle https jsfiddle net 5r25psub 在小提琴中 只有当我有以下语句时 代码才有效 this setState color blue
  • PHP从不同时区的服务器获取英国当地时间

    我有一个网络服务器 我不知道时区设置为多少 现在是英国上午 10 49 但是当我运行以下命令时 sTime gmdate d m Y H i s print The time is sTime 服务器返回以下时间 The time is 2
  • 从文本字段中选择粗体和斜体文本

    我怎样才能只选择bold and 斜体字用户在 textField textView 中输入的文本 我们可以制作选定的文本bold 斜体字 下划线以及这三者的任意组合 但反之亦然呢 这不是 Mac OSX 或 iOS 所特有的 任何一种的解
  • 如何阻止其他应用程序使用麦克风?

    我正在开发 android voip 应用程序 我想确定是否有其他应用程序正在使用麦克风 通过这个 我想在使用麦克风时阻止其他应用程序访问麦克风 请任何人有想法 这对我很有帮助 Thanks 最后知道我们可以检查麦克风的可用性 如下所示 p
  • 为什么我的 Bash 代码在使用“sh”运行时会失败?

    我有一行代码在我的终端中运行良好 for i in mp4 do echo ffmpeg i i i mp4 mp3 done 然后我将完全相同的代码行放入脚本中myscript sh bin sh for i in mp4 do echo
  • 如何覆盖 HWIOAuthBundle twig 文件

    我是 Symfony2 3 FosUserBundle 的 HWIOAuthBundle 新手 我在我的项目中使用这个包来登录 facebook twitter googleplus 我已经成功安装了这个并且工作正常 但我想覆盖 login
  • 使用 SQLAlchemy ORM 批量插入

    有什么方法可以让 SQLAlchemy 进行批量插入而不是插入每个单独的对象 IE doing INSERT INTO foo bar VALUES 1 2 3 而不是 INSERT INTO foo bar VALUES 1 INSERT
  • 如何在Google AppEngine上实现“自动增量”

    我必须以 强单调递增 的方式来标记某些东西 发票号码 运输标签号码等 一个号码不得使用两次 当所有较小的数字都已被使用时 没有孔 每个数字都应该被使用 奇特的说法 我需要数 1 2 3 4 我可用的号码空间通常有 100 000 个号码 而
  • VBA 是一种 OOP 语言吗?它支持多态性吗?

    我实际上正在做我的第一个VBA项目 来自C 我想改进现有的VBA项目使用的微软Excel通过实现类和多态性的工作簿 我的问题是 1 我读了很多文章 论坛解释了这一点VBA不是面向对象编程 OOP 语言并且不支持多态性 其中一些人提出了使用关
  • Windows 7 IIS7.5 和 asp 应用程序错误 HTTP 404.0 - 未找到

    我有一个经典 ASP 应用程序 现在我将其安装在装有 Windows7 64 位和 IIS 7 5 的新 PC 上 问题是 当应用程序尝试打开数据库时 出现以下错误 错误 HTTP 404 0 未找到 我尝试从该路径打开数据库并且它工作正常
  • 窗口变量名

    我正在查看一些代码 在脚本的开头我们有var emailID email 稍后 代码通过以下方式引用 emailIDwindow emailID 我想知道允许您通过 window variableName 引用变量的规则是什么 我无法在网上
  • 如何为日期添加天数?

    我的代码是这样的 table class table tbody tr th Date th th Charge th tr foreach cancel policy api as key gt value tr td value Che
  • 没有 JavaScript 的 CSS 菜单

    任何人都可以提供参考 或者是否可以完全依赖于创建一个菜单CSS and not a single bit of javascript 需求是一个下拉菜单 其中可以有很多children submenu 如果像这样创建的话 任何东西都会cro
  • 语音识别连接错误

    我正在尝试基于 VoiceRecognition java 示例来研究和测试语音识别示例 网址为http developer android com resources samples ApiDemos src com example an
  • 是否有一个“String.Format”可以接受命名输入参数而不是索引占位符? [复制]

    这个问题在这里已经有答案了 这就是我所知道的 str String Format Her name is 0 and she s 1 years old Lisa 10 但我想要类似的东西 str String Her name is na
  • PHP Mysql PDO:一般错误:2006 MySQL 服务器已消失

    我当前正在运行一个自定义 php 脚本 该脚本在我的本地主机上运行时工作正常 但是在共享主机上运行时 我收到以下错误 致命错误 未捕获异常 PDOException 消息为 SQLSTATE HY000 一般错误 2006 MySQL 服务