【发布时间】:2016-03-23 18:36:04
【问题描述】:
如果之前有人问过这个问题,我们深表歉意。我一直在高低搜索,但几乎没有什么结果,但我的搜索措辞可能不正确。
我今天尝试从 PHP 5.5 升级到 PHP 5.6,但它破坏了我所有使用 MySQL 的网站(所有其他仅 PHP 的代码都很好)。
我没有收到 MySQL 错误,我确实看到正在建立连接,但查询似乎没有命中 MySQL 服务器。相反,查询似乎被打印在屏幕上,实际上并没有被执行。
我有两个例子
1:
2:
示例 1 应该显示一个登录表单,示例 2 应该显示一个下拉框,供用户选择。登录表单和下拉框已绘制在屏幕上,但它们要么未正确填充,要么填充了变量名而不是结果。
我阅读了migration guide at PHP,甚至是关于 latin1 字符集的注释(我的是 UTF8),但那里没有太多内容。
有什么明显的我遗漏或我还没有读过的东西吗?还是我应该深入挖掘? Apache & PHP 日志似乎没有显示太多。由于我的谷歌搜索出现空白,我的选择已经不多了。有没有其他人经历过这种情况?
切换到 PHP 5.5 使所有网站恢复正常,没有出现上述错误/问题。切换回 PHP 5.6 再次引入了上述错误/问题,所以我相信它是 PHP 5.6 特有的,但我对它没有错误地执行 mysqli_connect 的事实感到困惑。
【问题讨论】:
-
提高您的调试级别,看看日志中是否有内容?此外,检查是否打印了错误而不是记录错误。您可能处于开发环境/配置中。
-
这与mysql无关。您的 php 代码没有执行,而是以纯文本形式发送出去。
-
对不起,Marc B,我应该措辞更好,但老实说,我什至无法弄清楚问题出在哪里,所以我试图尽可能地描述。我有一些不是从 MySQL 中提取的静态页面,升级后它们运行良好。然而,我从 MySQL 中提取的所有页面都被破坏了(我现在意识到这完全是侥幸/巧合,正是我当时碰巧注意到的)
标签: php mysqli php-5.5 php-5.6