283得票3回答
PHP中的严格类型是什么?

我在PHP 7中看到了以下的换行符,但没有人真正解释它的含义。我已经搜索了谷歌,但他们都只是像一种投票一样询问你是否会启用它。declare(strict_types = 1); 它是做什么的?它如何影响我的代码?我应该这样做吗? 一些解释会很好。

73得票8回答
在PHP 7中消除“声明...应该兼容”的警告

升级到PHP 7之后,日志几乎被这种错误淹没了: PHP警告:Example.php的Declaration of Example::do($a, $b, $c) should be compatible with ParentOfExample::do($c = null) on line...

69得票1回答
在PHP中,类型声明前面的问号(?)表示该变量可以是指定类型或null之一(可为空)。例如,(?int)表示一个可以为空的整数类型。

我在https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Output/Output.php的第40行看到他们使用了"?int"。public function __construct(?int...

50得票3回答
Docker-php-ext-install无法找到mcrypt文件夹

我尝试在基于php:7.2-apache的Docker镜像中安装mcrypt。因此,我使用文档中的RUN命令,并且回答了这里的问题,但是我收到了以下错误:error: /usr/src/php/ext/mcrypt does not exist usage: /usr/local/bin/...

37得票7回答
在MAC OSX上安装phpredis

有人可以帮我在MAC OSX上安装php-redis吗。brew install php-redis 不能工作。pecl install php-redis 还不能工作,得到 - 无效的包名/包文件“php-redis”。 Homebrew 错误: homebrew_error

36得票2回答
如何在password_hash中使用Argon2算法?

我听说PHP 7.2引入了新的Argon2算法。但是我不知道如何将其与我的现有代码一起使用。例如,我有以下代码: $password = password_hash('somepassword', PASSWORD_DEFAULT, ['cost' => 12]); PASSWOR...

32得票2回答
如何使用Homebrew在macOS Big Sur上安装PHP 7.2?

我想在MacBook Pro M1,macOS Big Sur (11.5.2)上安装PHP 7.2。 我已经阅读了一篇文章 (如何使用 Homebrew 和 PECL 在 macOS 10.15 Catalina 上安装 PHP 7.2),但它对我不起作用。 我使用了Homebrew来安装P...

26得票4回答
PHP 7.2警告: "当会话处于活动状态时无法更改会话名称"

自从我们的服务器将PHP从7.0升级到7.2后,每次进行新部署时我都会收到以下警告(导致错误)。原因可能是旧会话在部署后变得无效。 警告:session_name():当会话处于活动状态时无法更改会话名称 /var/www/html/model/login/lib/Session.cl...

16得票1回答
PHP 7.2 - 警告:count():参数必须是数组或实现了Countable接口的对象

我刚把我的PHP版本从5.6升级到7.2。我在登录页面上使用了count()函数,如下所示:if (!empty($_POST['username']) && !empty($_POST['password'])): $records = $conn->prepa...

13得票3回答
count()函数发出E_WARNING警告

在PHP 7.2之前,在标量值或不可计数对象上使用count()将返回1或0。 例如:https://3v4l.org/tGRDE var_dump(count(123)); //int(1) var_dump(count(new stdclass)); //int(1) var_dump...