Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:111977 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 88280 invoked from network); 1 Oct 2020 17:20:12 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 1 Oct 2020 17:20:12 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id E2B8D180087 for ; Thu, 1 Oct 2020 09:32:23 -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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-il1-f179.google.com (mail-il1-f179.google.com [209.85.166.179]) (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 ; Thu, 1 Oct 2020 09:32:23 -0700 (PDT) Received: by mail-il1-f179.google.com with SMTP id b12so3846394ilh.12 for ; Thu, 01 Oct 2020 09:32:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=datadoghq.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=RX1dAEbUPAMlSAurqyAf71nIYNkHDUdSgb8YQtWXIOs=; b=CrZMWu2JBQAS8FuP2WF9vPiDPgS/y5L/KKpOzJoW2dFttDxfLA82Aw/i28kV5onqKv sCZ9SAXcV2JIe5SEcHcfWp8fIddqT2dWsFDotdY5tUaf86GnESttR+9voXJMd7y/vXhk j7UZcneq5eBowE+mjeyDuZ7WK4ETmGfzJD5JA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=RX1dAEbUPAMlSAurqyAf71nIYNkHDUdSgb8YQtWXIOs=; b=T4uEA6EBuf66qJuMCYp6WXDvHv+nZJqBhTVvu9zoc9dBByqiq+0BedEK+NJDtnrz7t CohJbfhYg2UWR79nMaLAKAJfIq2eDGTF4vErOtWakyRoLQYvGMzmVcWOAIYWBHI7MDy0 Hi1BfITXyuDWRec81R7tNGOABzGfIzXgUJy6ax2Zebri2e8JCdH+UdNldsZgXR1AF0ie D6ZBMqZ6UqXYeVhmjlyDGfRViFHGrLrBMImehJX4EaLxka2JNdmlQyPs8KA3LK+AZkdM uinwVQnaytQDhBUNlJNgw4v4WuQ/sHcUBC6zRl3rr1CZf3ybXUd+pjUD0eUzANFMM9o+ IT/A== X-Gm-Message-State: AOAM5305RPewvjPrfr/KOZsfmaztd2TrCgQ7gkqup/5sYtDIOnzDY29Q /b9T86nH0JBH+DdIkBnxnv/hGFlflgtQDgP/03SeOA== X-Google-Smtp-Source: ABdhPJypbMMZbm57+/SSuhLJbwWIpgi6ZXljm3kyExhXnoF72JGJZCQrlfFyTPA8/2KYS9520VEVU6MdERRPFYkwx4k= X-Received: by 2002:a92:c10d:: with SMTP id p13mr3251071ile.223.1601569941652; Thu, 01 Oct 2020 09:32:21 -0700 (PDT) MIME-Version: 1.0 References: <940131FA-19B3-406C-8982-0AD276FD1879@gmail.com> <142da816-f3bf-2f05-6147-ccd2117e1dfd@gmail.com> In-Reply-To: <142da816-f3bf-2f05-6147-ccd2117e1dfd@gmail.com> Reply-To: Levi Morrison Date: Thu, 1 Oct 2020 10:32:11 -0600 Message-ID: To: Dik Takken Cc: Nikita Popov , Rowan Tommins , PHP internals Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] RFC: execution opcode file without php source code file From: internals@lists.php.net ("Levi Morrison via internals") On Thu, Oct 1, 2020 at 9:14 AM Dik Takken wrote: > > On 01-10-2020 14:30, Nikita Popov wrote: > > It would be good to know what the actual use-case for this is. If the goal > > here is to distribute pre-compiled PHP code without the source code, then > > this is not going to work without making the opcode format stable (which, I > > think, is pretty unlikely.) If the goal is improving cold startup > > performance, then I wonder what the benefit over the existing file cache is. > > The only use case I see is to package commercial closed source > applications as Docker containers. That allows the packager to ship the > compiled code along with the exact PHP version and configuration that > can run it reliably. > > Regards, > Dik Takken Note that for PHP 8.0 we made the system ID change even more than it used to because doing so fixes sigsegvs when switching what extensions are loaded (common when trialing an APM product, or loading and unloading xdebug) when file cache is used. This means that it is even more important to have sources than in the past, and necessarily so because of real segmentation faults. So I second Nikita's opinion: this is not going to work well without stabilizing the opcode format. This may be possible, but it would be a lot of work; it's not happening soon. If you do it anyway be prepared for plenty of crash complaints.