问题标签 [php-8]

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 回答
1390 浏览

php - 在 Xampp 中将 PHP 版本从 7x 升级到 8x

我做了这些步骤,

  1. 我的旧版本是7.3.11
  2. 从https://windows.php.net/download#php-8.0-ts-vs16-x64下载 PHP
  3. 删除了旧的 php 文件夹并添加了新库
  4. ...\xampp\apache\conf\extra\httpd-xampp.conf根据此修改文件:

老的:

现在:

我认为php7_moduleafterLoadModule是一个变量。因此,如果我将其更改为php8_module,我可能不得不在任何地方进行更改。

现在,在启动 apache 之后,我收到了这个错误: 在此处输入图像描述

0 投票
1 回答
77 浏览

php - __construct 参数中的类可见性(私有) - 这是有效的 php 代码吗?

我在看别人的代码,我不明白。这是类的示例:

由于参数内部的“私有”,IDE 在 _construct 下显示错误。我知道在 PHP 8 中有联合类型,但我找不到关于在类内部而是在构造函数内部使用“私有”或“公共”的任何信息,以及这应该做什么。我认为这是错字,它应该在类内,但是像这样创建了多个类。这是一个有效的代码还是有人不知道他在做什么?

0 投票
2 回答
11066 浏览

php - “TypeError: implode(): Argument #2 ($array) must be of type ?array, string given”在 PHP 8 中

错误:

0 投票
1 回答
142 浏览

php - 尝试在 laravel 框架 8.0 中运行 artisan serve 时如何解决此类错误?

在此处输入图像描述

当我尝试在 laravel 框架中运行 artisan serve 时,出现以下错误。我不知道错误的根本原因是什么。在那之前,当我关闭连接并重新运行它时,它一直在工作。我得到一个错误 fclose(): Argument #1 ($stream) must be of type resource, bool given

0 投票
2 回答
45 浏览

php - Php + mysql - 在 66,946 个字符的查询输入后,连接始终中断

我一直在尝试在我的 php 项目中调试随机删除的 mysql 连接。

到目前为止我发现的事情:

  • 一旦通过单个 mysql 连接的输入(通过单个 mysql 连接的查询中使用的总字符)通过了 66,946 个字符,php 就会无限期地锁定导致它结束的查询。
  • 如果我偶尔重新连接 mysql 服务器而不是一直重新使用现有连接,只要我在任何单个 mysql 连接的输入中不超过 66946 个字符,mysql 连接就不会断开。
  • 无论是单个查询还是一堆小查询都没有关系。一旦在单个 mysql 连接上通过了“66947”阈值,php 就会无限期挂起。
  • 这不是内存问题。php最多只占用10Mb的内存,最大内存为512Mb。
  • mysql 连接是远程的,如果这很重要的话。
  • 这个确切的代码适用于我的本地开发环境(具有任意长度的查询,相同的远程连接),但不适用于生产服务器上的查询加起来超过 66,946 个字符
  • 我的开发环境和实时环境的 php 版本和配置文件是相同的,并且都在运行 Ubuntu(嗯,在本地它在技术上是 WSL)
  • 在 mysqli 和 PDO 之间切换没有显着差异(只是在崩溃之前输入字符的数量不同,PDO 的字符比 mysqli 少)
  • (更新):我也在另一个类似的 ubuntu 主机上尝试了这个脚本,使用相同版本的 PHP,使用相同的 mysql 主机。它在那里完美地工作......所以我真的不知道问题可能是什么。

我已将其缩小到这个最小的复制案例:

提供参数66946返回“成功!” 立即,并且66947只是使生产服务器无限期挂起(但在我的本地盒子中工作正常!)。

为什么我的 php mysql 连接有一些神秘的输入限制?如何阻止它(无论“它”是什么)限制我的 php mysql 连接输入长度?

0 投票
1 回答
1845 浏览

php - 尝试使用 PHP 8.0 安装 Xdebug - 安装的 Zend Engine API 版本 420200930 较新

我最近在我的 Ubuntu 20.04 服务器上安装了 PHP 8.0,我正在尝试让 Xdebug 使用它。我已经按照https://xdebug.org/wizard的说明安装了它:

但是我在做的时候得到这个错误php -v

当我运行 phpize 时,我得到了这个输出:

所以我不确定我需要在这里做什么。为什么我无法使用正确的 Zend API 版本?

Ubuntu 报告我拥有最新版本的autoconf,automakephp-dev

0 投票
1 回答
430 浏览

php - Netbeans IDE (12.2):PHP 8.0 构造函数提升的语法错误

我在搞乱新的Attributes(又名“注释”)PHP,我遇到了这个烦人的问题,Netbeans 12.2它无法识别我的有效PHP 8.0代码。我已经在我的本地机器上测试了它,也在这里:https ://sandbox.onlinephpfunctions.com/ 。

代码似乎编译得很好。其他PHP 8.0功能也可以在 IDE 中工作(...嗯,它是相同的二进制文件)。我可以以某种方式修复或消除此错误吗?因为它将我的整个工作区标记为错误。

想法句法 想法错误提示

我想这是一个错误。我可以使用旧语法,但这只是一种解决方法,以防我找不到解决方案。


问题:

我怎样才能摆脱这个错误消息,或者我的代码中是否缺少一些东西,应该在那里?

0 投票
2 回答
1679 浏览

php - 将 php 升级到版本 8 后 php-cs-fixer 出现问题

php-cs-fixer升级到 php8 后,我通过 composer 全局安装了一个问题。现在我不能使用php-cs-fixer,因为每次我得到:

对于 php 升级和使用不同版本的 php,我使用https://github.com/shivammathur/homebrew-php

对于以前版本的 php (7.4),一切正常。

0 投票
0 回答
1523 浏览

php - 在 php:8.0.1-fpm-alpine 上安装 Php8-dev

使用 Docker,我尝试从源代码构建一些 php 扩展。

为了做到这一点,我安装了 php8-dev,但是在那之后,它也安装了 php8,所以我有两个不同的 php8 版本,导致 .so 的 ldd 中断

下面是我的 Dockerfile 示例

任何想法 ?

0 投票
0 回答
48 浏览

php - 如何同时使用 php7 和 php8?

我目前正在使用 php7,我想在未来开发 php8。是否有任何机会在仅使用 XAMPP 服务器的同一台计算机上使用 php7 和 php8。