问题标签 [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 - PHP 8方法覆盖来自同一BaseClass的不同类型
我的项目在 PHP 7.X 上运行良好,升级到 PHP 8 后出现以下问题,我不知道如何解决。
我有以下(简化的)情况:
我的整个项目都是这样运行的,但是从 PHP 8 开始,我得到了该行的异常
public function output(Car $entity)
带有“致命错误:*** 的声明必须与 *** 兼容”
它与 PHP 7 完美配合!因为“车”也是交通工具。
有人知道如何解决这个问题吗?
谢谢!
php - 从 php 7.4 迁移到 8(DSO 和实时刷新回显)
问题是关于从 PHP 7.4 迁移到 PHP 8 以及 php 8 的 DSO 等价物。
我在这里读到https://docs.cpanel.net/ea4/php/php-8/ PHP 8 和 DSO 不再兼容...
那么有什么选择呢?
我使用 DSO 的方式:上下文 ob_flush / ob_implicit_flush / 每个“回声”输出并且仍然继续执行。
当我尝试时的示例:在一个 ajax 的实时 MEGA 长时间执行中,实时反馈在执行时返回到 html
在这种情况下,当 php 执行时,我看到“你好”,“被调用”出现几秒钟后,等等。
在我的 DSO 设置中,脚本不必等待完全完成即可开始输出。
在 PHP 8 中,我们如何实现这一点?
php - 升级到 php8 后 Composer 版本锁定问题
升级到 php8 后,我现在在运行任何 composer 命令(composer、install 或 composer update)时都会遇到问题。当我这样做时,我收到此错误:
在这里我试图安装unicodeveloper/laravel-paystack 请问我该如何解决这个问题?
我在尝试启动我的另一个 Laravel 项目时也得到了他:
php - PHP 8:如何在属性中声明关联数组
我有这个控制器注释:
我想将其转换为 PHP 8 属性。但是如何传递defaults
参数的关联数组呢?这有效:
但这不是:
我应该怎么做?
php - PHP for循环不访问参数中传递的变量但可以在for循环外部访问
您好,我正在编写自己的 php 特定框架,因为其他框架无法完成我想要完成的工作,
这是一项任务的庞然大物,我决定更改我的“路由系统”,这需要我预加载从$settings
参数中拖入的选定类。我正在将“设置”类传递给正在访问的类构造函数参数,我检查了数组计数并检查了它是否是它,但是一旦它进入 for 循环,它就为空
Warning: Undefined variable $settings in /***/*****/****/PHPFRAMEWORK/System/App.php on line 6
for 循环只是为了预加载添加到 Settings 类中的类。
我的问题是
- 这段代码有什么问题?
- 这是特定于 PHP 的问题吗?
php - 如何解决 PHP 8.x 中关于 NumberFormatter 的新错误/行为变化?
在我竭尽全力恢复 PHP 7.4.13 以确保它之前,我以为我快疯了。它在 PHP 8.x 中发生了变化!
代码:
PHP 7.4.13 中的输出:
PHP 8.0.1 中的输出:
结论:
有些事情发生了变化。
问题:
如何让 PHP 8.0.1 表现得像以前一样?
澄清:
即,以“最小”的方式输出的货币总和,仅用数字。
预测一:
有人可能会这样回答:“只需手动输出这些情况下的数字!”
对此,我回应:它必须是货币模式下的数字格式化程序。在如何格式化货币金额方面,地区/语言之间存在巨大差异。我需要使用它并告诉它放弃符号。
预测二:
有人可能会这样回答:“只需将 str_replace/preg_replace 符号替换掉!简单!”
对此,我回应:并非所有语言环境/语言都使用相同的格式。这是一门具有多种不同格式的完整科学,无法通过简单的字符串替换来解释。
我想正确地做这件事,这就是我认为的。直到现在,当 PHP 8 决定改变这一点时。我不确定这是一个错误还是什么。
研究:
我在这里找不到任何关于 PHP 8 的提及:https ://www.php.net/manual/en/numberformatter.formatcurrency.php
php - Phpmyadmin 5.1.0.RC1 & 5.0.4 错误(./libraries/classes/Config.php#1285 mkdir() 中的警告:权限被拒绝)
我在 ubuntu 服务器 20.04 上测试 phpmyadmin 5.0.4 和 5.1.0.RC1,我收到以下错误:
我尝试通过 www-data (原始“root”)更改我的 ./libraries/classes/Config.php 和 /var/lib/phpmyadmin/tmp/twig (也创建了这个文件夹“twig”)的所有者,但是错误没有解决。
我的供应商配置是:
我使用 php8.0。
谢谢你的支持!
php - 在 PHP 8 中使用 call_user_func 返回致命错误
我正在尝试使用函数handleContact 调用名为ContactController的类,但出现以下错误:call_user_func([ContactController::class, 'handleContact']);
致命错误:未捕获错误:无法静态调用非静态方法 app\controllers\ContactController::handleContact()
php - Microsoft 从 PHP 8 起终止对 PHP 的支持
我已经读到微软从 PHP8 起将不再支持 PHP。整个意思很模糊。我真正想知道的是 PHP8 在 Windows 上根本不能工作吗?因此使所有 WAMP 服务器应用程序无用,因此需要切换 Linux 或 Mac 以进行所有未来的开发工作?