在IIS PHP管理器升级PHP版本后网站无响应并报致命错误
解决PHP 7.4升级后MYSQL_ATTR_USE_BUFFERED_QUERY未定义的致命错误
这个错误是因为PDO_MYSQL扩展未正确加载导致的,MYSQL_ATTR_USE_BUFFERED_QUERY是PDO_MYSQL扩展提供的类常量,扩展缺失时自然无法识别。以下是具体解决步骤:
检查并启用PDO_MYSQL扩展
找到当前PHP 7.4.33对应的php.ini文件(注意IIS中不同站点可能使用不同配置文件),确保存在以下配置且未被注释:extension=pdo_mysql如果ext目录不在PHP默认路径下,需指定完整的dll路径,例如:
extension=C:\PHP\v7.4.33\ext\php_pdo_mysql.dll确认extension_dir配置准确
确保extension_dir指向PHP 7.4.33的ext目录,路径需用双引号包裹(含空格时必须):extension_dir="C:\PHP\v7.4.33\ext"同时检查该目录下是否存在
php_pdo_mysql.dll,且文件版本与PHP的线程安全/非线程安全、32位/64位属性匹配。重启IIS服务
修改php.ini后必须重启IIS才能生效,可通过命令行执行:iisreset或在IIS管理器中重启对应站点。
验证扩展加载状态
创建phpinfo.php文件,内容如下:<?php phpinfo(); ?>访问该文件,查找
Loaded Extensions列表,确认pdo_mysql已存在。若仍未加载,查看PHP错误日志(在php.ini中找到error_log配置路径),排查扩展加载失败的具体原因(如文件缺失、权限不足、版本不兼容等)。
内容的提问来源于stack exchange,提问作者tharinduka
相关产品推荐
相关产品推荐

