louisxxx
V2EX  ›  问与答

PHP 里的 socket_set_option 缺少 IPPROTO_TCP/ TCP_WINDOW_CLAMP 吗

  •  
  •   louisxxx · Jul 18, 2024 · 1358 views
    This topic created in 688 days ago, the information mentioned may be changed or developed.

    当前用的 php7.4 https://www.php.net/manual/en/function.socket-set-option.php 查了文档完全没找到 TCP_WINDOW_CLAMP 相关选项。

    \socket_set_option($socket, \IPPROTO_TCP, \TCP_WINDOW_CLAMP, 0);
    

    会直接报错

    PHP Fatal error:  Uncaught Error: Undefined constant 'IPPROTO_TCP' in /root/app/Worker.php:2390
    

    PHP 如果缺少底层选项,只能改 PHP 解释器源码来支持了?

    PHP 解释器源码这里看是有 IPPROTO_TCP 的 不知道为什么调用不了,https://github.com/php/php-src/blob/7d99a9cea11b43f05fda267b5c1ec892ccb8cf95/ext/sockets/sockets.c#L1674

    louisxxx
        1
    louisxxx  
    OP
       Jul 18, 2024
    已搞定。传系统内核常量就行,PHP 直通
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2986 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:10 · PVG 15:10 · LAX 00:10 · JFK 03:10
    ♥ Do have faith in what you're doing.