问题标签 [php-7.4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
138452 浏览

php - fastcgi 和 fpm 有什么区别?

我正在尝试在 macports 上使用 fpm 安装 php。我在某处读到 fpm 表示 FastCGI 进程管理器。这是否意味着 fastcgi 和 fpm 相同?如果它们相同,那么为什么我们有两个不同的 php macports 变体,即 “php5 +fastcgi”“php5 +fpm”

0 投票
3 回答
1908 浏览

php - 多 PHP (5.4+7) Centos 7

我有一个开发VM服务器(Centos7+php5.4+apache2.4)和每个用户作为它的子域,开发它的webservice。

大多数开发人员有义务在 5.4 php 版本上编写代码,默认使用 mod_php,我有指示尽快迁移到 PHP 7(最好是 7.2)。我研究并阅读到拥有两个不同版本的 PHP 的唯一选择是我必须使用 Fast-CGi 安装其中一个(我不介意在 php7 上这样做)。我担心什么时候可以选择必要的php版本会影响开发,因为环境不同(mod_php vs Fast-CGi

到目前为止,我只能安装两个 php 版本+必要的模块,没有任何问题。系统可以识别较新的 php 版本并强制选择的用户使用该版本吗?

我尝试使用 virtualmin 的过程并创建 PHP 安装包但没有成功。virtualmin 安装了许多导致系统不稳定的额外内容。

到目前为止,我已经尝试了所有这些程序:

https://www.webfoobar.com/node/45

https://www.centos.org/forums/viewtopic.php?f=47&t=62204

https://rpms.remirepo.net/wizard/(在同一系统上安装两个版本成功)

我的目标是选择每个用户(在他的子域下)应该在没有任何版本冲突的情况下工作的 php 版本,暂时维护系统(EOL)php 5.4。我读到它可能使用带有 Add-handler 的 .htaccess 配置,但系统无法识别 php7

接受任何指导。感谢阅读最好的问候

0 投票
2 回答
8744 浏览

php - 如何在 PHP 中使用箭头函数?

我开始了解PHP 7.4 中的箭头函数。我试着像使用它们一样

因为我=>在拉取请求中看到了运营商。就像javascript一样。

我期望'2'作为输出,但这不起作用!我有

解析错误:语法错误,第 3 行 /test.php 中的意外 ')'

0 投票
1 回答
562 浏览

php - PHP 7.4 中包含/流过滤器发生了什么

去!AOP 框架使用带有 include 语句的流过滤器来执行代理生成。它在 PHP 7.3 中运行良好,但现在在 PHP 7.4 beta 2 发布之后,它看起来发生了一些变化。

不幸的是,流过滤器的文档很差,所以我无法检查发生了什么。也许有经验的人会知道。

检查以下示例代码:

如您所见, $content 已正确修改代码(完整)。但是,在包含该文件时,看起来代码被条带化为原始文件长度。PHP 打印错误:Parse error: syntax error, unexpected end of file in /(...)/Sample.php on line 9

第 9 行是它超出原始文件大小的位置。

0 投票
2 回答
588 浏览

php - Splatpacking 与 array_values() 使用数字键重新索引数组

从 PHP7.4 开始,有一种新的可用技术可以用数字键重新索引数组。

我将其称为“数组重新打包”,或者可能是一些有趣的东西,例如“ splatpacking ”。简单的过程涉及使用 splat 运算符 ( ...) - 也称为“扩展运算符” - 解包一个数组,然后通过“对称数组解构”用第一级元素填充一个新数组。

比较代码:(演示

两者都会输出:

同样,splatpacking 技术严格限制于带有数字键的数组,因为 splat 运算符会阻塞其他任何内容,并且只能从 PHP7.4 及更高版本中将解压后的值直接写入数组。

由于两种技术在排位赛情况下提供相同的输出,我什么时候应该使用一种而不是另一种?

请注意,这不是关于如何重新索引键,而是array_values()与新可用技术的比较。

这不同于:

以及其他数十个询问如何重新索引数组的旧页面。

0 投票
1 回答
2430 浏览

php - 类型化属性是否支持类型可调用?

我搜索了这个原因,但找不到任何原因。

我试图创建一个类型为“可调用”的类型化属性。但是 PHP 给了我一个致命错误“不能有可调用的类型”。在 RFC 中,没有提到 callable 不是属性类型提示的允许类型。相反,有一些示例,其中使用了类型属性的“可调用”。

见:https ://wiki.php.net/rfc/typed-properties

这是什么原因?网上有没有关于这个话题的讨论?

0 投票
1 回答
2043 浏览

php - PHP7.4.0 RC1 - 无法识别的选项正在运行 ./configure

我最近在我的 Mac 上编译了 php 7.4.0 RC1,但是运行./configure(带有一些参数)我收到以下警告:

我了解警告本身的含义,但是这些参数被替换为什么或为什么它们不起作用?

0 投票
4 回答
933 浏览

php - 在 php 7.4 中重写匿名函数

有以下匿名递归函数:

我尝试重写到 7.4 版,但出现错误,请告诉我我缺少什么?

注意:未定义变量:f

致命错误:未捕获的错误:函数名称必须是字符串

0 投票
1 回答
2026 浏览

debian - Debian PHP 7.4 - 包 php-memcached 依赖于 php7.3 (debian 10)

安装 php 7.4 后:

我尝试安装 php-memcached,但安装的是旧版本(php 7.3):

...

Les NOUVEAUX paquets suivants seront installés :

php-memcached php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-phpdbg php7.3-readline

...我们可以看到这个扩展需要的不是 Php7.4 而是 php7.3

猫 /etc/apt/sources.list.d/php.list

猫 /etc/apt/sources.list

如何强制为 PHP 7.4 安装 php-memcached?

我试过 php7.4-memcached 但它不起作用模块中的 /etc/php/7.4 中没有文件夹/文件

我的代码不起作用:未捕获的错误:找不到类“Memcached”


Debian 10(和 sid)包 php-memcached 3.1.3 依赖于“phpapi-20180731”(Php 7.3): https ://packages.debian.org/fr/buster/php-memcached

只有新版本将与 php 7.4 兼容:

https://pecl.php.net/package/memcached/3.1.4

现在 packages.sury 只提供 php-memcached 3.1.3

https://packages.sury.org/php/pool/main/p/php-memcached/

0 投票
1 回答
988 浏览

php - 在箭头函数中通过引用使用变量

PHP 7.4 引入了箭头函数。它还引入了隐式的按值范围绑定,从而消除了对use关键字的需求。

现在,如果我们想通过常规匿名函数的引用来使用闭包范围之外的变量,我们可以这样做:

但是使用箭头函数似乎是不可能的

那么如何$num通过引用使用变量呢?