Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:117576 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 85729 invoked from network); 23 Apr 2022 06:51:58 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 23 Apr 2022 06:51:58 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 33FAD1804C9 for ; Sat, 23 Apr 2022 01:26:24 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sat, 23 Apr 2022 01:26:23 -0700 (PDT) Received: by mail-ed1-f54.google.com with SMTP id z99so12980731ede.5 for ; Sat, 23 Apr 2022 01:26:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=ooQzUYp7yGIdDMsEtoebg1NBWexDfEKXkNbj1Ov1Dmg=; b=Md41m1WlmVE95u0d5ggBZZYbfkoL6LPyMi743w78zSeaD5rXd6tT/2Vlw8smcehMUA BPDYIiRBxb2acYvWIUGWTdJAd6tEHVrb4gPaQRHuIYwriI5cVBLJLV4lsKpvk/DIcM+l PA1Y30A1yZKB2twWruQulXaWB6izDhSlZMiBchawjMI95OdBjuMpCutHtmN5Q0eIgmi3 p+DRwV7FcEqvZCAeJsyE1fHay9r3mK3PGJvtXOGYLPfMAAL8xubrVT+y0Co1B+pOmvEm j6meya+1s6uVtmYRUtgCDEsnjmHf5G4PHLFRVacs5C07GtAQSmucMOVtfS0Tv7L0MvMu tuWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=ooQzUYp7yGIdDMsEtoebg1NBWexDfEKXkNbj1Ov1Dmg=; b=3O4oPfoByhCBs+YjxKlrCGxGDREl3CBN+98Zcc+IVCzif6qT9rrUsQxfoc4dgbdRIn QOcGu6T/mJqLrgO362rGAETX8aksL/Bjz6/T+Pg+2F/Nh3tpB0+XFu2duRzXcw8lMv3D HdAJi8m60dc8uFBzU6nO/+K/vbBL5/5HRMOu9/csPq0IynhHa3gafBGDfhid1pXnLbw4 6xZK/v4kzapPRLiM5AmGuT+cfBAsgg8S09eeWNrDGGDutx3JePyPzJmRTjPDrBKSEtYU xtZ8Njfe3dEso3VH8EFN4QLAv31gZI54kLqluLmr9TdVdHdAUn2E48vFAVQkNfNFMQSE 1zDA== X-Gm-Message-State: AOAM533UQMUjpUVBu/evAi1inmLu5F74OrGGmiC+fAVQ/bBKeH9X20GF PVwIiO9UFfoZfl2MhQtF+p1RwcWyUF+hbQ6sMMTC23QKy8Q= X-Google-Smtp-Source: ABdhPJzs4T3chWRW1lj5x+ErQ+Z4n3e3ZBJk/aQBbTBdBP6ucVL2rd8oagtHOMIZ8hkLihj4yte698hRUXK5WlvVgXU= X-Received: by 2002:a05:6402:d05:b0:425:b5c8:faeb with SMTP id eb5-20020a0564020d0500b00425b5c8faebmr8935567edb.273.1650702382011; Sat, 23 Apr 2022 01:26:22 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Sat, 23 Apr 2022 10:25:44 +0200 Message-ID: To: PHP internals Content-Type: multipart/alternative; boundary="0000000000001c192d05dd4e19ef" Subject: Re: LOCK_SH for file_get_contents ? From: divinity76@gmail.com (Hans Henrik Bergan) --0000000000001c192d05dd4e19ef Content-Type: text/plain; charset="UTF-8" can we at least change FILE_USE_INCLUDE_PATH to 8 / (1<<3) ? that would allow a userland implementation of file_get_contents to support LOCK_SH and FILE_USE_INCLUDE_PATH The current situation is so bad that FILE_USE_INCLUDE_PATH literally cannot be used in strict_mode=1, it's pretty much completely useless since php 7.0, so I doubt it'll break anything keeping up with new releases of PHP. On Mon, 13 Dec 2021 at 13:57, Hans Henrik Bergan wrote: > This has been requested for years (since at least 2009?) but it seems no > actual plan has been proposed > How about this? > since we already have the constant FILE_USE_INCLUDE_PATH , seems it was > introduced in PHP5.0.0, > > 1: FILE_USE_INCLUDE_PATH currently collides with LOCK_SH (they're both 1), > lets change FILE_USE_INCLUDE_PATH to something that doesn't collide with > any of LOCK_SH | LOCK_EX | LOCK_NB > for example (1 << 3) / int(8) > 2: change argument #2 from "bool $use_include_path = false" to "int|bool > $flags = 0" , treating bool(false) the same as int(0) and bool(true) the > same as FILE_USE_INCLUDE_PATH , and support LOCK_SH | LOCK_NB | > FILE_USE_INCLUDE_PATH here > (i think LOCK_EX could also be supported, but that might be controversial, > and the use case is certainly limited, if there is one at all) > > because it's kind of silly, and at times annoying, that file_put_contents > support LOCK_EX but file_get_contents does not support LOCK_SH > --0000000000001c192d05dd4e19ef--