问题标签 [php-8.1]

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 投票
2 回答
1794 浏览

php - 在 PHP 8.1 上运行 WordPress 时,“字段列表”中的未知列“wp_”

现在可以在 PHP 8.1 上运行 Wordpress 吗?我已经在 XAMPP 中安装了 PHP 8.1,但我无法让 Wordpress 工作。我收到此错误消息:

[23-Nov-2021 18:44:43 UTC] PHP 致命错误:未捕获的 mysqli_sql_exception:C:\xampp\htdocs\my_php_81_folder\normal_local_site\wp-includes\wp-db 中的“字段列表”中的未知列“wp_”。 php:2056 堆栈跟踪:#0 C:\xampp\htdocs\my_php_81_folder\normal_local_site\wp-includes\wp-db.php(2056): mysqli_query(Object(mysqli), 'SELECT wp_') #1 C:\xampp \htdocs\my_php_81_folder\normal_local_site\wp-includes\wp-db.php(1945): wpdb-> do_query('SELECT wp') #2 C:\xampp\htdocs\my_php_81_folder\normal_local_site\wp-admin\setup-config.php(317): wpdb->query('SELECT wp_') #3 {main} 在 C:\xampp\ htdocs\my_php_81_folder\normal_local_site\wp-includes\wp-db.php 在第 2056 行 [2021 年 11 月 23 日 18:45:45 UTC] PHP 致命错误:未捕获的 mysqli_sql_exception:C 中“字段列表”中的未知列“wp_” :\xampp\htdocs\my_php_81_folder\normal_local_site\wp-includes\wp-db.php:2056

我已经验证 PHP 8.1 正在提供给这个文件夹,我可以运行成功创建和修改本地数据库的 PDO 和 mysqli 命令。

0 投票
2 回答
788 浏览

php - PHP 8.0.12 升级到 PHP 8.1 - 多个模块错误

很长一段时间以来,我一直在使用 XAMPP 在我的开发工作站上进行升级,从各种版本 7s 到 8.012。

我似乎遇到了升级到 8.1 的问题。

我已经编辑了 apache 配置以使用新版本的 php。将其php.ini-development重命名为php.ini,然后在我重新启动 apache 后取消注释 openssl 扩展名无效:

php 信息页面中未启用 Openssl:

在此处输入图像描述

如果我尝试通过将我的扩展从以前的安装移过来来启用 mongodb,然后取消注释扩展php.ini并再次重新启动 apache,我会收到一个错误:

extension=php_mongodb.dll

在此处输入图像描述

更新:我现在发现在 PHP 8.1 下启用任何 PHP 模块都不起作用。

我可以回滚到以前的版本php-8.0.12并再次拥有一个功能齐全的 php。当我回滚到以前的版本时,启用和禁用 PHP 模块仍然有效。它在 PHP 8.1 下不起作用。

如果可能的话,我想及时了解最新版本!

我对这个版本的 PHP 做错了什么?为什么我不能启用任何东西?

0 投票
1 回答
561 浏览

php - PHP Enums `__toString` 魔法方法

我想知道为什么无法__toString为枚举提供实现。

IDE 说“枚举可能不包括 '__toString'”。然而,这是我创建枚举后首先想到的。以前我在代码中使用值对象封装字符串,必要时使用字符串转换。现在我想将它们迁移到枚举中,但那些抵制。

0 投票
1 回答
190 浏览

php - PHP 8.1 中 readonly 的好处是什么?

readonly现在在 PHP 8.1 中可用,我只是想知道它有什么用?这是为了帮助编辑知道这个属性是公正readonly的还是帮助客户知道或者还有其他好处?

0 投票
0 回答
74 浏览

php - 数组上的 PHP 8.1 只读属性

我正在尝试将新的 readonly 属性与PHP8.1一起使用,但我无法设置我的数组值。

我的代码:

$object->attachments->media_keys是一个像这样的简单数组:

但这不起作用并返回["media_keys"] => uninitialized(array)

0 投票
1 回答
5533 浏览

php - 未捕获的ErrorException:strtolower():不推荐将null传递给字符串类型的参数#1($string)

我正在运行 codeigniter 4.1.5 和 php 8.1.0,当我尝试输入数据时,这是我得到的错误

未捕获的错误异常:strtolower():将 null 传递给字符串类型的参数 #1 ($string) 在 C:\xampp\htdocs\cikaryawan\system\Validation\FormatRules.php:253 中已弃用 堆栈跟踪:

  1. #0 [内部函数]:CodeIgniter\Debug\Exceptions->errorHandler()
  2. #1 C:\xampp\htdocs\cikaryawan\system\Validation\FormatRules.php(253): strtolower()
  3. #2 C:\xampp\htdocs\cikaryawan\system\HTTP\RequestTrait.php(151): CodeIgniter\Validation\FormatRules->valid_ip()
  4. #3 C:\xampp\htdocs\cikaryawan\app\Views\errors\html\error_exception.php(206): CodeIgniter\HTTP\Request->getIPAddress()
  5. #4 C:\xampp\htdocs\cikaryawan\system\Debug\Exceptions.php(229): include('...')
  6. #5 C:\xampp\htdocs\cikaryawan\system\Debug\Exceptions.php(232): CodeIgniter\Debug\Exceptions->CodeIgniter\Debug{closure}()
  7. #6 C:\xampp\htdocs\cikaryawan\system\Debug\Exceptions.php(116): CodeIgniter\Debug\Exceptions->render()
  8. #7【内部函数】:CodeIgniter\Debug\Exceptions->exceptionHandler()
  9. #8 {main} 在我的 .env 文件夹中

这是我的 register.php

这是我作为控制器的 auth.php

这就是我在 helpers 文件夹中放入 form_helper.php 的内容

我做错了什么?

0 投票
1 回答
524 浏览

php - 为什么 PHP 8.1 告诉我我的函数的签名已被弃用?

我安装了 PHP 8.1,但出现了关于已弃用函数的错误。您对此有什么想法并解决它吗?

已弃用:OM\Db::prepare(string $statement, $driver_options = null) 的返回类型应与 PDO::prepare(string $query, array $options = []): PDOStatement|false 或 # 兼容应使用 [\ReturnTypeWillChange] 属性暂时抑制第 114 行 //OM/Db.php 中的通知

114 号线

0 投票
0 回答
20 浏览

nginx - 大小限制服务器超过2M

您好,我在 laravel 8 上构建了一个应用程序,我使用 File-manager 包上传图像一切正常,直到我放置在 unbuntu 上运行的服务器上,现在我无法上传图像我有这个错误:

我更改 php.ini 文件:

和 nginx.conf:

在 html 部分我重新启动了 nginx 和 php 但我仍然有同样的问题我不想修复它

0 投票
0 回答
46 浏览

php - Symfony CollectionType 实体构造函数参数

形式:

FooPositionType.php:

FooPosition.php:

问题是当我保存新的 FooPosition 时,我收到错误消息Too few arguments to function App\Entity\FooPosition::__construct(), 0 passed in var/www/svm/vendor/symfony/form/Extension/Core/Type/FormType.php on line 160 and exactly 1 expected

如果我将 FooPosition 构造函数更改为private ?Foo $foo = null,一切正常,但我不希望在没有适当 Foo 关系的情况下使 FooPositions 可构造。我将如何解决此问题以使其正常工作?'prototype_data' 应该处理这个问题,但由于某种原因它没有。

0 投票
2 回答
125 浏览

php - 通过字符串从枚举中获取大小写

我寻找一个简单的解决方案来通过字符串获取枚举的情况。有 BackedEnums。例如:

但我不想为了得到这个结果而写两次同一个词。在没有 BackedEnums 的情况下,是否有一种本地方法来获取案例?我想要类似的东西:

还是我需要为此编写自己的功能?例如:

有没有更好的方法来实现同样的目标?