Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:111966 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 4999 invoked from network); 1 Oct 2020 11:24:23 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 1 Oct 2020 11:24:23 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id A1CE11804B1 for ; Thu, 1 Oct 2020 03:36:29 -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,FREEMAIL_FROM,HTML_MESSAGE, 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-io1-f49.google.com (mail-io1-f49.google.com [209.85.166.49]) (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 03:36:26 -0700 (PDT) Received: by mail-io1-f49.google.com with SMTP id k25so1493664ioh.7 for ; Thu, 01 Oct 2020 03:36:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=AgDvAzYI964u7BFpsw+h7PzNMevLh1bETvLXqks20M0=; b=KfyPSP/bbZD8ASuXhjFzQfl1iyrFkJzimduhpMkv7vPwVbq6ItTWo0YAd6lkRsf3/f O+W04O53cbAuxJwlGXPkixssk5EoDT/nsNbT9JlPD5Mn49rfOjS4rCJorRG3uplYUR91 5K8006lWjy+2fx1aXvyHC5we4Yp1uyNwSJhLe7SAfTGLe5pWJFebfP4wi/Bdyi9jrRPT NfoChmXveytsMf3TS3JvKCWvfO7aUeDA7tdtQ7dz8Aj2StxllugJF3i4t2czy9J9YPt6 /bgeCq4BpjIMQKAdQHnpTeEFAaIBzXl0uUdy6Skenp6HeQSIzM9D4ch8WRyF+PecJXKJ fqog== 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=AgDvAzYI964u7BFpsw+h7PzNMevLh1bETvLXqks20M0=; b=TrhQ4Gzwa0S7uCxIvrq+C46tuUydumKivh2v3kebtQu7hgzxYRrllsBtEopck/aHdd bCj+TQ1FrwcM0WijVCs1sOQn8BZahhS9sBwUSBJIcIBCWxG5o5EQbJYXZ+e7aHmbmdXZ oXeaZSr565meKwmY7t6SHneZA+gcEpN/uciyJ0oIWZcDL+RXH76gbLVSYgdk7FULt2cg 06aIzsg6w9enYENbq+S1/ZMDyMMMXiHlpx9e6exN11wbwU5tv9YLPoVid02deGzkXgVm 8m5fOPk7FY4FkkxvKaFpzlFIveh1ywoDOtm0+/5w14NYsLh585QT2vj5ao7S7GZoUpv2 hAow== X-Gm-Message-State: AOAM532o+y7FdWDz2POERM6/fEI3QLDDUNrx9rczbmrNL1fvq5ecOIwR w8RrSwIaLnoWJvjxzZSDyyCHfvz6nLW5JEydlzM= X-Google-Smtp-Source: ABdhPJxSl5XatMlUS6sFj2SoR2z/b5+XjaLwgaBQtK3LuO3RMI2Ptq3AnOwiOV/oRsnPiUPBvXGi5TF7htG8GYA3NOQ= X-Received: by 2002:a5e:dc04:: with SMTP id b4mr4533915iok.208.1601548583265; Thu, 01 Oct 2020 03:36:23 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Thu, 1 Oct 2020 12:36:12 +0200 Message-ID: To: =?UTF-8?B?6IKWIOmRq+mRqw==?= Cc: "internals@lists.php.net" Content-Type: multipart/alternative; boundary="0000000000006569dd05b0999671" Subject: Re: [PHP-DEV] RFC: execution opcode file without php source code file From: michal.brzuchalski@gmail.com (=?UTF-8?Q?Micha=C5=82_Marcin_Brzuchalski?=) --0000000000006569dd05b0999671 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, czw., 1 pa=C5=BA 2020 o 11:36 =E8=82=96 =E9=91=AB=E9=91=AB napisa=C5=82(a): > I commit a new request path, the request is about execution opcode file > without php source code file > this RFC provides similar to class file of java and pyo file of python. > patch is: https://github.com/php/php-src/pull/6146 I had exact the same feature in my mind and working implementation few years ago when PHP 7.0 appeared on horizon which didn't get a Zend Guard support. I like the idea a lot. One risk I see here is people putting whole framework or apps into one PHP file before calling `opcache_compile_file` to produce one big binary file. Would it be possible to move this feature to separate function and pass iterable list of files? I am not sure if with current OPCache file format it's possible but if that might reduce amount of steps required to produce one huge OPCache file which then can be loaded by interpreter. Second thing worth of noting is that PR examples use CLI SAPI and lacks of examples how FPM can load it. Would it require at least an index.php with `