问题标签 [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 回答
632 浏览

php - 只有第一个字节将分配给字符串偏移警告

刚迁移到 PHP 8 之后,就出现了这个错误;你知道如何解决这个问题吗?

PHP 警告:只有第一个字节将分配给字符串偏移量

它出现在这 2 行中:

这是他们周围的代码:

0 投票
1 回答
2059 浏览

php - PHP单元测试不兼容PHP8,是否支持向后兼容?

我在 PHPUnit 中有几个测试单元,PHPUnit 与 php8 不兼容。我正在寻找一种在 PHP8 上运行旧测试的方法。PHPUnit 是否有任何包装器可以与 PHP8 一起使用?

顺便说一句,这是我在 composer install 上的错误:

它可以通过从 PHPUnit 作曲家文件中删除要求来工作。

0 投票
1 回答
185 浏览

php - 为什么 fopen() 中的某些访问模式会在我的新服务器上引发 PHP 警告?

我正在执行从php 5.6.40(Apache 2.2.15 CentOS 6.10 服务器)到php 8.0.1(Apache 2.4.37 CentOS 8.3)的 PHP 脚本迁移。

我遇到fopen()了根据模式选项引发警告的功能。我在网上搜索了没有发现类似的问题...

在每台服务器上,我都有相同的上下文和相同的权限:

我的测试脚本非常简单,它检查所有 fopen 模式:

运行此脚本时,我获得:

在我的旧服务器 PHP 5.6.40

这些警告是合乎逻辑的(文件存在和排除)。

在我的新服务器 PHP 8.0.1

第 8 行和第 9 行的警告在这里也很有意义。

模式 r+、w[+] 和 c[+] 生成“权限被拒绝”警告。

模式 r, a[+] 运行良好,没有警告。

我可以使用“r”选项读取文件。我可以使用“a”和“a+”选项来编写文件,所以它看起来不像是权限问题。

我想了解并且不必更正我的应用程序的所有 fopen() ...

0 投票
0 回答
180 浏览

php - 如何在 Opensuse 风滚草中安装 PHP8 XDebug?

我正在尝试在 PHP8 中调试 PHP 脚本。我已经安装了 PHP8 和我的大部分依赖项。但是 OpenSUSE 存储库中没有 php8-xdebug。

是否可以为 PHP8 安装 xdebug?

0 投票
1 回答
360 浏览

php - 作曲家因信号 9 失败

我对 Composer 的失败感到困惑。任何人都可以帮忙吗?我所看到的关于“信号 9”的唯一事情与资源限制有关,而我没有。看起来 require() 失败了?

我有一个新的基于 M1 的 macbook air,运行 PHP8.0.0并安装了 Composer (v2.0.8),两者都使用homebrew. 我正在尝试创建一个新的 Cakephp 项目。

我已经安装并运行了 git。

当我运行时: composer -vvv create-project --prefer-dist cakephp/app projectname

Composer 因 Symfony 运行时异常而失败signal 9- 如下所示:

0 投票
2 回答
606 浏览

php - 我已经将我的项目 PHP 版本升级到 8 并将 PHPUnit 升级到 9.x,但不再生成覆盖率报告?

我尝试从 PHP 7 迁移到 PHP 8。我更新了所有依赖项,然后使用以下命令转换 PHPUnit 配置:

问题是不再生成覆盖率报告?!虽然所有测试都可以。

这是 phpunit.xml 文件的结果:

所有测试运行正常,但没有覆盖率报告!!。

0 投票
1 回答
1480 浏览

php - 使用 Composer 安装 PHP 8 时出现包错误

我想运行我从 Gitlab 存储库中克隆的 laravel 应用程序。但是,在运行composer update命令时将我抛出错误。

环境:

php -v: PHP 8.0.1

composer --version: 2.0.9

我知道 PHP 8 还没有提供对所有包的支持。但仍在寻找最小的工作解决方案来在本地机器上运行我的项目。

我尝试了 laravel 的以下文章。但也无法安装“fakerphp/faker”。

composer.json

我什至删除了我的composer.lock并尝试运行composer install但仍然出现错误。

0 投票
1 回答
647 浏览

php - Xdebug v3.0.2 与 PHP v8.0.0

我刚刚使用 XAMPP v3.2.4 迁移到 php v8.0.0。但是 Xdebug 不工作。执行不会在断点处停止。

我的安装说明——

这是安装摘要-

php.ini

VS 代码 launch.json -

0 投票
1 回答
2002 浏览

php - 参数 #1 ($parser) 必须通过引用传递

从 PHP 7.4 迁移到 PHP 8.0,我遇到了一些代码抛出警告的问题。代码有效,但我想找出问题所在。PHP 7.4 中没有警告。以下是警告:(已修改以将我的信息从错误中删除)

PHP 警告:XML::open():参数 #1 ($parser) 必须通过引用传递,值在第 89 行的 .../classes/xml_5.php 中给出

PHP 警告:XML::open():参数 #1 ($parser) 必须通过引用传递,值在第 89 行的 .../classes/xml_5.php 中给出

PHP 警告:XML::open():参数 #1 ($parser) 必须通过引用传递,值在第 89 行的 .../classes/xml_5.php 中给出

PHP 警告:XML::data():参数 #1 ($parser) 必须通过引用传递,值在第 89 行的 .../classes/xml_5.php 中给出

PHP 警告:XML::close():参数 #1 ($parser) 必须通过引用传递,值在第 89 行的 .../classes/xml_5.php 中给出

PHP 警告:XML::open():参数 #1 ($parser) 必须通过引用传递,值在第 89 行的 .../classes/xml_5.php 中给出

(他们一直在做同样的事情)

编码:

问题行 (89) 在最后,这一行:

我看到在 PHP 8 中 xml_parse 发生了变化: 8.0.0 解析器现在需要一个 XMLParser 实例;以前,需要资源。

我已经花了几天的时间,我错过了一些东西!感谢大家!

0 投票
1 回答
301 浏览

php - PHP 启动:无法加载动态库 'oci8_12c'

我有个问题。我通过 Composer 安装了最后一个安全的 PHP 8.0.1,Laravel。将作曲家更新到 2.0.9。现在每个 php/composer 命令都会继续发出如下警告:

Warning: PHP Startup: Unable to load dynamic library 'oci8_12c'

Warning: PHP Startup: Unable to load dynamic library 'pdo_firebird'

Warning: PHP Startup: Unable to load dynamic library 'pdo_oci'

我在welcome.blade.php 上的项目说:

Unchecked runtime.lastError: The message port closed before a response was received.

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

我应该怎么做才能解决这个问题?