问题标签 [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.
php - 将 ZipArchive 与 PHP 8 和临时文件一起使用
PHP 8 改变了 ZIP 存档的“打开”方式,并指出:
不推荐使用空文件作为 ZipArchive。Libzip 1.6.0 不再接受空文件作为有效的 zip 存档。
在下面的测试代码中,打开名为 ZIP 文件的文件$backupzip
没有错误,但打开 ZIP 文件名$invoicezip
失败并出现错误:
不推荐使用:ZipArchive::open():在第 12 行不推荐使用空文件作为 ZipArchive
php - OM\Db::query(string $statement) 的声明必须与 PDO::query 兼容
我刚刚安装了 PHP 8 并且出现了这个错误?我如何解决它?
致命错误:OM\Db::query(string $statement) 的声明必须与 /home/www/includes 中的 PDO::query(string $query, ?int $fetchMode = null, mixed ...$fetchModeArgs) 兼容/OM/Db.php 在第 131 行
我的 OM/Db.php
php - 未与 PhpStorm 建立连接 Xdebug 3
下午好。
当尝试在 PHP 8 上调试脚本时,PhpStorm 报告与版本 3 xdebug 没有连接。适用于 3 以下的所有版本。我尝试将 xdebug.remote_{host, port} 的参数更改为 xdebug.client_{host, port} 但也没有帮助。
php - 当字符串小于 PHP 8 中的起始字符时 substr 返回一个空字符串
如果字符串的长度小于起始字符,则返回 FALSE。
并给出了例子
有趣的是,从 PHP 8.0.0rc1 开始,这似乎不是真的,因为在较新的版本中,该函数返回一个空字符串:
这是 PHP 中的错误还是未记录的更改(或者我误解了什么)?
php - `iconv` 需要安装什么才能使用 PHP8
我正在尝试迁移doctrine/rst-parser
到 Github 操作,最后一个障碍是测试因调用而失败iconv
:
iconv('utf-8', 'us-ascii//TRANSLIT', $text)
测试失败
我已经尝试安装libc6
ubuntu 包,并安装iconv
PHPintl
扩展,没有骰子。我应该尝试什么?
这是拉取请求的链接:https ://github.com/doctrine/rst-parser/pull/126
编辑:解决方案似乎是做 asetlocale(LC_ALL, 'en_US');
,但false
出于某种原因,它会在 github 操作上返回。
php - 如何在 PHP 中使用“Nullsafe 运算符”
有没有办法Nullsafe operator
在php中使用条件?
php - PHP 8 发生了什么变化,导致 imap_msgno() 在昨天与 PHP 7.4.12 完美配合时声称“错误消息编号”?
我有一些噩梦般的 IMAP 代码,这让我花了很长时间来编写代码。当 7.x 是当前的 PHP 时,我做到了,并且多年来我一直使用它来将我的电子邮件提取到我的 PHP 系统中,没有任何这样的问题。
昨天,PHP 8 终于作为“GA”(稳定版)发布了。我更新了。果然,更新软件时总会有一些奇怪的问题。现在,我的 IMAP 代码用这些废话淹没了日志:
相关代码片段:
我已经双重验证这$message_number_array
确实是一个整数数组,没有别的。它直接来自imap_search
. 这些号码怎么可能是“坏消息号码”?
是的,我一直在到处使用 UID。与昨天与 PHP 7.4.12 完美配合时相比,我的代码没有任何改变。
像往常一样,当我搜索时,网上的相关信息为零。
在这种情况和这种情况下我该怎么办?我什至不明白这是怎么可能的——更不用说我将如何解决它了。
php - php 7.4 mongodb dll 文件(1.9.0) 与 windows 10 系统上的 php 8 不兼容
如您所知,PHP 8 发布了,我很兴奋并想尝试一下。但是我对 MongoDB 有要求,我尝试将 7.4 的 MongoDB dll 文件添加到 php8,它给出了类似的错误。
我在我的 php.ini 中添加了
dll文件版本是1.9.0(据说它与php8兼容)但它是针对PHP 7.4的,我找不到php8版本的dll文件,任何人都可以在这里帮助我。
php - 将 php 更新到 php 8 后 guzzlehttp/guzzle 不起作用
我使用Laravel 8guzzlehttp/guzzle
中的包。升级到PHP 8后,我得到:
Symfony\Component\ErrorHandler\Error\FatalError: Invalid opcode 117/2/0. in file ../vendor/defuse/php-encryption/src/Core.php on line 412
作曲家.json:
php -v
:
UPD 1如果我
opcache_reset ();
之前打电话$this->client = new \GuzzleHttp\Client; $response = $this->client->post(...)
,它的工作原理。
UPD 2
$ service php8.0-fpm reload
- 没有帮助。
UPD 3重新启动服务器没有帮助。
我怎样才能解决这个问题?
php - 为什么 opcache 没有被刷新?
我使用Laravel 8guzzlehttp/guzzle
中的包。升级到PHP 8后,我得到:
Symfony\Component\ErrorHandler\Error\FatalError: Invalid opcode 117/2/0. in file ../vendor/defuse/php-encryption/src/Core.php on line 412
nginx
配置:
PHP 7.4 被删除。
如果我opcache_reset ();
之前打电话,我不会得到错误。