问题标签 [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 投票
1 回答
4847 浏览

php - 从 PHP 5.6 升级到 7.4

新手来了 我正在从 PHP 5.6 升级到 7.6

在我的登录页面上,无法登录,出现以下错误:

已弃用:函数 get_magic_quotes_gpc() 在第 49 行的 /home/domain/library/config.php 中已弃用

这是 config.php 文件的代码:

当我删除已弃用的 get_magic_quotes_gpc() 并转到登录页面时,它只是空白。

0 投票
1 回答
947 浏览

php - php7.4、php7.4-fpm、http2、Apache、nginx

  • 我可以在 Apache 中使用 php7.4-fpm 吗?或者 php-fpm 真的只用于 nginx 吗?为什么?
  • php7.4是否支持http2?还是你还需要php-fpm?官方 http2 网站 (http2.pro) 已经有几年没有更新了。
  • 还值得激活 HTTP2 吗?(最新的更新可以追溯到几年前。)
  • 要激活 http2,我遵循了此处描述的所有程序:https ://http2.pro/doc/Apache ,现在如果我必须重新激活 php(正常),我该如何返回?

(这个问题最初的解释性要强得多,但管理员不喜欢它......他们要求它更加集中,所以让我们只尝试这些问题。)

0 投票
1 回答
692 浏览

php - 非数组的数组式访问(真、假、空等)

所以,这就是我的数组的结构:

当我尝试检查是否有任何错误时,我现在会这样做:

这在 PHP 7.4 中给了我一个通知:

我了解发生了什么(向后兼容性更改)。是否有另一种干净的方法来检查null数组?我看到的唯一工作方法是:

但这使我的 if 语句加倍。没有更干净的方法吗?

0 投票
1 回答
1993 浏览

apache2.4 - 无法加载模块“ext\\php_curl.dll”,因为它与 9.0 链接

我想用 PHP 7.4.2 安装 Apache24,但我无法使用 curl 模块。在 php.ini 中,我设置扩展名 dir ( extension_dir = "ext") 并启用 curl ( extension=curl)。但是当我启动 Apache 时,我在日志文件中得到了这个错误:

我试图加载 ssl 文件,但它没有帮助。

知道问题出在哪里吗?

编辑。我的 php.ini 没有大部分评论

0 投票
1 回答
841 浏览

windows - PHP 警告:PHP 启动:加载失败,系统找不到指定的文件。PHP 7.4 视窗

在将此标记为重复之前,请听我说完:)

我有几年在 Windows 上使用 PHP 的经验,甚至创建了 AMP 堆栈的便携式(用于 Windows)分发:https ://thejaka.com/tzwamp/我将其命名为“WAMP Zero”或 TZWAMP。我已经广泛使用了这个 WAMP 发行版,我认识的人也在使用它。最后一个(以前的)发行版运行良好,但是当我尝试将发行版更新到来自供应商/分销商站点的应用程序/组件的最新版本时,我遇到了障碍。新发行版不再加载 PHP 扩展。似乎一个或多个依赖项无法定位,但我不知道是什么或从哪里来的。我尝试在依赖项查看器中查看 php_mbstring.dll,但无法弄清楚这是怎么回事。缺少一些依赖项,但大多数似乎来自 CRT,我安装了最新的。我猜缺少的依赖项可以从 PATH 环境变量中解决。以下内容未加载:

php_mbstring.dll php_mysqli.dll php_openssl.dll php_pdo_mysql.dll php_mbstring.dll php_mysqli.dll php_openssl.dll php_pdo_mysql.dll

错误信息如下: PHP Warning: PHP Startup: Failed to load ......\php\ext\php_mbstring.dll,系统找不到指定的文件。

在开始抱怨相对路径之前,请注意在 7.3 上它运行良好。

ext dir的路径是相对指定的,但路径似乎是正确的。相同的路径在 TZWAMP 的先前发行版中运行良好,当我更改路径时,错误消息也会更改,导致我相信路径是正确的。另请注意,我也尝试将 php 路径添加到 PATH 环境变量。

成功运行的 PHP 版本是 7.3.10。有问题的 PHP 版本是 7.4.2。Apache 版本是 2.4.41

是否有人知道从 7.3.* 到 7.4.* 的任何相关更改,或者任何人都可以帮助我调试问题并解决它?

编辑:我已经检查过,绝对路径似乎有效。但是,为了使其可移植,需要相对路径。相对路径适用于 7.3,我相信以前的主要版本。有任何想法吗?

0 投票
1 回答
2197 浏览

php - 通过 Composer 安装软件包后如何启动脚本?

我使用该命令composer require otra/otra:dev-develop --no-update --no-cache && composer update --no-autoloader来安装我自己的框架。

我从我的框架中把这部分放在了composer.json我的框架中:

但是 Composer 不运行它。这是正常的吗,Composer 是否认为这是一个依赖项而不是根包,所以它不允许我的脚本运行?

如果是这种情况,我怎么能有同样的行为?

我想要 :

  • 将我的二进制文件放在bin文件夹中,vendor/bin不必要求用户手动执行符号链接(或其他解决方案)
  • 将一个文件夹从我的框架复制web到项目的根目录。

编辑:使用create-project命令 如果我输入composer create-project otra/otra:dev-develop crashtest --remove-vcs,我得到这个composer.json

这与我的框架完全相同,因此我无法通过 Composer 对其进行更新。如果我不使用,我可以使用 git,--remove-vcs但这不是目标。

命令的输出composer是:

安装 otra/otra (dev-develop ab37237565155dab11812a7b2982d30ee240f051)

  • 安装 otra/otra (dev-develop ab37237):从缓存中克隆 ab37237565

在 crashtest 中创建项目

使用包信息加载作曲家存储库

从锁定文件安装依赖项(包括 require-dev)

0 投票
0 回答
392 浏览

composer-php - 程序“composer.bat”无法运行

我已经安装了作曲家并设置了环境变量。但是当使用“Composer install”命令时。我得到以下错误。

我还查看了扩展,并且所有相关的(openssl)扩展都已启用。

程序 'composer.bat' 运行失败:系统找不到指定的文件在 line:1 char:1 + composer + ~~~~~~~~。在 line:1 char:1 + composer + ~~~~~~~~ + CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException + FullyQualifiedErrorId : NativeCommandFailed

请帮我解决这个问题

提前致谢。

0 投票
1 回答
2340 浏览

macos-catalina - 在 mac catalina 上启用 opcache,php 7.4 与 homebrew 一起安装

我已经修改了 php.ini 文件以启用操作码缓存并重新启动 apache,但使用 phpinfo() 却看不到它。php -v 说:

我从这个命令中看到的大多数其他示例都说类似于“使用 Zend Opcache”。

/usr/local/etc/php/7.4/php.ini根据 php,除了 at 之外没有其他 .ini 文件被使用。

我尝试使用 pecl 安装 zend opcache,但它表示它适用于 5.2.0 至 5.5.0 版本。

通过谷歌搜索了 30 分钟。但无处可去。

0 投票
0 回答
219 浏览

php - PHP 7.4 递归箭头函数

我正在尝试使用 PHP 7.4 中的新箭头函数,并且正在尝试创建一个递归箭头函数。有人知道这是否可能吗?

这是我的代码:

我在这里得到一个未定义的变量。我假设内部$factorial变量还不存在?

错误信息Notice: Undefined variable: factorial in test.php on line 10

0 投票
2 回答
64 浏览

php - PHP 内部开发问题,想用引用功能扩展 curly 语法

我知道这与 SO 有点离题,因为我没有代码而且我的问题很抽象。

我想在 PHP 语言中添加一个功能:
现有功能:

需要 SQL 变量的新功能:

或者:

这个想法是扩展字符串 curly 语法以支持函数或一些硬编码函数来引用变量。

我的问题是:
有没有办法编写一个提供这种功能的 php 模块/扩展?
如果是这样,我必须从哪里快速开始?

解决方案

我想这是我想要的最接近的,而不必破解 php 本身