代码之家  ›  专栏  ›  技术社区  ›  thomasrutter

使用PHP命令行界面暂停5秒钟(与mysql/mysqli扩展相关)

  •  6
  • thomasrutter  · 技术社区  · 16 年前

    从命令行php客户机(Windows上的php 5.2)执行php脚本时,会有一个奇怪的5到7秒停顿。

    在暂停期间,PHP脚本在返回到命令提示符之前只会显示“冻结”一段时间。它没有占用任何重要的CPU时间,就像在等待一些延迟。

    在尝试php.ini之后,我把范围缩小到启用了mysql或mysql i扩展。如果这两个扩展都被禁用,那么就不会出现令人恼火的暂停,并且PHP脚本只需几毫秒就终止。

    我使用的命令是:

    "C:\Program Files\PHP\php.exe" -f %1
    

    其中%1是PHP脚本。

    即使正在执行的PHP脚本基本上是空的,暂停仍然会发生:

    <?php
    
    ?>
    

    您知道是什么导致了这个暂停,以及我如何在命令行上允许mysql或mysql i支持php的情况下删除它吗?

    3 回复  |  直到 12 年前
        1
  •  6
  •   ax. Clement Herreman    16 年前

    这是一个 bug in mysql . 您可以通过获取最新的libmysql.dll(5.1.31或更高版本)来解决这个问题。一些旧版本也可以使用-请参阅第二个链接)。确保这是实际使用的libmysql.dll,并且您的路径中没有其他libmysql.dll。见相关 php issue 详情。

        2
  •  4
  •   Olivier 'Ölbaum' Scherler    12 年前

    对于我(Mac OS X上的Zend Server CE),imap的exetension是罪魁祸首。禁用它解决了问题。

    Anoyone想写一个PHP扩展平分脚本吗?:)

        3
  •  3
  •   Simon E. pbs    13 年前

    我还经历了一个恼人的2秒延迟,从Windows7 64位下的命令行运行PHP。

    此版本有延迟:
    php.exe(v5.3.5)随附 ZendServer Community Edition

    这个版本非常快:
    php.exe(v5.3.6)随附 EasyPHP

    (很抱歉碰到一条古老的线,但希望这能帮助其他人搜索这个问题。)