mysqli_stmt_bind_result 上的 PHP 奇怪的段错误

2023-12-21

当将 PHP 脚本从 PHP 5.2 迁移到 PHP 5.3 时,我偶然发现了以下问题: 该脚本的一般用途是数据挖掘。 我里面有一个向 MySQL 服务器添加数据的过程。 因为它确实是重复的,所以我(不久前)重写了它以使用 MySQLi,特别是准备好的语句,因为总共有 3 个可能的查询要执行。 无论如何,现在,在 PHP 5.3 服务器上,脚本在以下行崩溃:

mysqli_stmt_bind_result($prepCheck, $id1);

Where $prepCheck是用创建的$prepCheck = mysqli_prepare($con, $checkQuery) or die("Error");。该查询在 MySQL 服务器(即 $checkQuery)上运行良好,并且 PHP 代码在以前的服务器上也运行良好。

运行脚本strace没有透露任何内容,因为其中的最后一件事是系统调用echo "Execute";,即29936 19:44:18 write(1, "Execute\n", 8) = 8.

连接对象不是FALSE,即使是,它也应该因另一个错误而失败,对吧?

最奇怪的部分来了: 这个程序没有失败当我运行脚本时,限制访问的页面数并且脚本成功完成。但是,当我设置更高的限制时,它会失败,always在第一次调用此过程时,并且恰好在这一行上。

如果有人有任何可能导致此问题的建议,他们将不胜感激。

如果有人需要查看更大的图片,我可以粘贴代码,但是该过程非常长且无聊至极(可能这就是脚本失败的原因:)。

以下是脚本的启动方式:error_reporting(E_ALL); ini_set('display_errors', '1');。 除了“神奇”之外,没有报告任何错误Segmentation fault。我没有使用APC。

不确定它是否相关,但我使用 CLI 来运行脚本,而不是 Web 界面。

PHP版本是5.3.8,MySQL版本是5.1.56。内存限制设置为 64MB。

编辑:程序失败+一些其他代码上传到这里:http://codepad.org/KkZTxttQ http://codepad.org/KkZTxttQ。整个文件又大又丑,而且我认为无关紧要,所以我现在不发布它。失败的线路是 113。


我自己的问题的答案,因为我已经解决了这个问题,并且没有其他答案......

感谢 @jap1968 向我指出了函数 mysqli_stmt_error (我认为我不需要它,因为我有error_reporting(E_ALL)).

问题是 MySQL 有一个非常奇怪的默认配置:特别是

connect_timeout = 10
wait_timeout = 30

这导致MySQL服务器仅在30秒后就关闭了连接(根据MySQL网站的说法,默认时间是半个多小时)。这反过来又导致 mysqli_stmt_bind_result 函数因分段错误而失败。

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

mysqli_stmt_bind_result 上的 PHP 奇怪的段错误 的相关文章

  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • WordPress 中的 add_action 函数

    嗯 我正在学习创建一个 WordPress 插件 我下载了一个并阅读了代码 然后我看到了这个 我假设 foo 是它将添加操作的标签 但是 array 到底是做什么的呢 add action foo array foo1 foo2 我在看ht
  • openssl_pkey_get_details($res) 不返回公共指数

    我在用着这个例子 https stackoverflow com a 12575951 2016196使用 php 生成的密钥进行 javascript 加密openssl图书馆 但是 details openssl pkey get de
  • 搜索引擎如何找到相关内容? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Google 在解析网络时如何找到相关内容 例如 Google 使用 PHP 原生 DOM 库来解析内
  • 如何使用 phpunit 运行单个测试方法?

    我正在努力运行一个名为testSaveAndDrop在文件中escalation EscalationGroupTest php with phpunit 我尝试了以下组合 phpunit EscalationGroupTest escal
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • 检查 PHP 中“@”字符后面的单词

    我现在正在制作一个新闻和评论系统 但是我已经在一个部分上停留了一段时间了 我希望用户能够在 Twitter 上引用其他玩家的风格 例如 用户名 该脚本看起来像这样 不是真正的 PHP 只是想象脚本 3 string I loved the
  • PHP严格标准:声明应该兼容

    我有以下类层次结构 class O Base class O extends O Base abstract class A Abstract public function save O Base obj class A extends
  • 为什么我需要结束 ob_start()?

    php 文档建议我应该用 ob end flush 结束每个 ob start 我在网站的每个页面上使用一个 只是为了允许我在应用程序中的任何位置使用 firephp 日志方法 该应用程序运行良好 但我想知道是否有任何我不知道的东西可能有害
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • 使用 SSL 证书验证 Web 浏览器

    是否可以使用 ssl 证书对 Web 浏览器进行身份验证 假设我在应用程序中存储私钥 有什么方法可以从浏览器读取密钥并尝试基于该私钥进行身份验证 您可以使用 SSL TLS 客户端证书身份验证来对浏览器 用户进行身份验证 服务器必须请求客户
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 如果循环中内存超出,我可以在 for 循环中抛出异常吗?

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何处理 foreach 循环中发生
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a

随机推荐