タグ付けされた質問 「php-7.4」

2
プロパティタイプのヒントを導入すると、「初期化前に型付きプロパティにアクセスしてはならない」というエラーが突然表示されるのはなぜですか?
次のように、新しく導入されたプロパティタイプのヒントを利用するようにクラス定義を更新しました。 class Foo { private int $id; private ?string $val; private DateTimeInterface $createdAt; private ?DateTimeInterface $updatedAt; public function __construct(int $id) { $this->id = $id; } public function getId(): int { return $this->id; } public function getVal(): ?string { return $this->val; } public function getCreatedAt(): ?DateTimeInterface { return $this->createdAt; } public …


3
ArrayObjectは、PHP 7.4のend()では機能しません
PHP 7.4への移行時にreset()、のような、current()またはend()ArrayObjectに関するいくつかの配列関数の異なる動作に対処する必要があります。次の例では、さまざまな出力が生成されます。 <?php $array = new \ArrayObject(["a", "b"]); $item = end($array); var_dump($item); $array = ["a", "b"]; $item = end($array); var_dump($item); PHP 7.4の出力は次のようになります。 bool(false) string(1) "b" PHPバージョン7.4より前の場合、出力は次のようになります。 string(1) "b" string(1) "b" A end($array->getArrayCopy())は通知を生成しますが、変数と一緒に使用すると回避策になる可能性があります。 行動をエミュレートする方法があるend()とArrayObjectかはArrayIterator?ArrayObjectは非常に大きくなる可能性があり、最後まで反復することが最善の解決策ではない場合があります。
9 php  php-7.4 


2
mysqliはPHP 7.4でcache_sha2_passwordをサポートしていますか?
PHP 7.3からPHP 7.4にアップグレードしようとすると、次のエラーが発生しました。 cache_sha2 auth 109の実行中の予期しないサーバー応答 私が見ると、これはPHP 7.4 MySQLiがcaching_sha2_passwordプラグインを使用しようとしていることを示しています。この記事は、PHP MySQLiがプラグインをサポートしていないことを示しています(プラグインの将来のサポートも示唆しています)が、PHP 7.4は新しく、使用しようとしているようなので、動作するはずです。また、エラーメッセージは、サポートされていなかった場合とは異なります(アクセス拒否と認証方法が不明)。 そこで、MySQL認証プラグインをcaching_sha2_password(以前と同じパスワードを使用して)に変更しました。 ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY ''; FLUSH PRIVILEGES; しかし、これは別のエラーを引き起こしました: ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワードを使用:YES)。 PHP 7.3に戻すとmysql_native_password、再び機能します。 両方のプラグイン、同じWebサイトに同じパスワードを使用し、同じphp.iniの変更を適用しました。ただし、mysqli構成は変更しませんでした。MySQLのログには何も表示されず、apache2ログには「アクセスが拒否されました」というエラーメッセージのみが表示されます。 php7.4-mysqliはサポートしていcaching_sha2_passwordますか?はい パスワードが拒否されたのはなぜですか、どうすれば修正できますか? フォローアップの質問を見る また、MySQLiがプラグインをまだサポートしていない場合:どうすれば使用できmysql_native_passwordますか?

4
php7.4 mysqliが「gone away」でタイムアウトする
php7.4をインストールしたばかりですが、問題ありませんが、phpmyadminにアクセスしようとすると、インストールできません。このインストールの前にphp7.3で注意してください。 エラーは: mysqli_real_connect(): Unexpected server response while doing caching_sha2 auth: 109 mysqli_real_connect(): (HY000/2006): MySQL server has gone away 私のPHPのMySQLライブラリを探して:php7.4-mysql。インストールされています。 何かを忘れましたか?ありがとうございました。 NOTICE: Not enabling PHP 7.4 FPM by default. NOTICE: To enable PHP 7.4 FPM in Apache2 do: NOTICE: a2enmod proxy_fcgi setenvif NOTICE: a2enconf php7.4-fpm NOTICE: You are seeing this message …
8 php  mysql  php-7.4 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.