找回密码
 新建账号

PHP Warning: ob_start(): function "ob_gzhandler" not found or invalid function name

[复制链接]
php 发表于 2024/5/12 04:26 | 显示全部楼层 |阅读模式
PHP 找不到 ob_gzhandler 函数,导致无法创建缓冲区。
  1. ob_start('ob_gzhandler');
复制代码
  1. PHP Warning:  ob_start(): function "ob_gzhandler" not found or invalid function name in /server/wuxiancheng.cn/misc.php on line 20
  2. PHP Notice:  ob_start(): Failed to create buffer in /server/wuxiancheng.cn/misc.php on line 20
复制代码
ob_gzhandler() 依赖于 PHP zlib 扩展,如果没有编译 zlib 扩展,或者编译成了动态加载的扩展文件而又没有动态加载 zlib 扩展,ob_gzhandler() 不会存在,就会导致以上错误。
在命令行窗口运行以下命令可以查看 PHP 加载了哪些扩展。
  1. php -m
复制代码
如果不能在命令窗口运行 PHP,可以使用 get_loaded_extensions() 函数在 PHP 脚本中运行查看。
如果没有编译 PHP zlib 扩展,需要重新编译 PHP。编译 PHP 时需要加入以下选项之一。
  1. --with-zlib=shared
复制代码
  1. --with-zlib
复制代码
--with-zlib 静态编译 zlib 扩展,不会在扩展目录生成扩展文件,而是将 zlib 扩展编译进 PHP 可执行文件中,不需要动态加载。
--with-zlib=shared 动态编译 zlib 扩展,会在扩展目录生成扩展文件,需要在 php.ini 中加载。
如果扩展目录有 PHP zlib 扩展文件 zlib.so 或 php_zlib.dll(Windows),打开生效的 php.ini 配置文件,加入以下配置参数。
  1. extension = zlib
复制代码
PHP 官方提供下载的 Windows 版 PHP 通常将 zlib 静态编译进了二进制文件,不需要加载扩展文件,也不会出现找不到 ob_gzhandler() 的错误。

相关链接 ob_gzhandler zlib

手机版|轻松E站

GMT+8, 2024/6/2 12:45

快速回复 返回顶部 返回列表