mysqlndを使用したphpによって引き起こされるいくつかの問題の処理
現在、CentOS 5.11 は依然として古い mysql 5.0.59 サーバー バージョンを使用しており、PHP も最新バージョン 5.3.3 を使用しています (インストールするには yum -y install php53 を使用します)。公式には、5.3 の最後のバージョンである 5.3.29 は 2014 年 8 月にサポートを終了しました。発生したいくつかのバグとセキュリティ問題は修正されないため、PHP バージョンを 5.5 にアップグレードすることにしました。インストール中に、
./configure --prefix=/data/php.5.5.26 --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-iconv-dir=/data/libiconv --enable-mbstring --enable-calendar --with-gettext --with-zlib --with-mcrypt --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-fpm-user=www --with-fpm-group=www
を使用して、データベースに接続するドライバーとして mysqlnd が使用されていることを確認します。テストプロセス中にいくつかの問題が発生した可能性があります。
コードをテスト サーバーにデプロイするときに、nginx ログを確認すると、PHP メッセージが表示されます: PHP 警告: mysql_connect() : そのようなファイル、又はディレクトリはありません。検査の結果、mysqlnd がデータベースに接続できないことが判明しました。php 設定ファイル mysql.default_socket = /var/lib/mysql/mysql.sock を変更します。これは yum によってインストールされた mysql サーバーであることに注意してください。 Apache を使用する場合は、Apache サービスを開始するだけです。
mysql_connect('localhost','root','123') を使用すると、サーバーがレポートしたことがわかりました。別のエラー
mysqlnd は古い安全でない認証を使用して MySQL 4.1 以降に接続できません。管理ツールを使用してコマンド SET PASSWORD = PASSWORD('your_existing_password') を使用してパスワードをリセットしてください。これにより、新しいパスワードが保存されます。より安全な、mysql.user のハッシュ値。このユーザーが PHP 5.2 以前で実行される他のスクリプトで使用されている場合は、my.cnf ファイルから old-passwords フラグを削除する必要がある場合があります
use mysqlnd を使用する場合、注意しなければならないことがあります。つまり、サーバー側のパスワード形式では古い 16 ビットのストレージ形式は使用できませんが、新しい 41 ビットのストレージ形式
mysql> select user,length(password) from mysql.user;+----------+------------------+| user | length(password) |+----------+------------------+| root | 16 || test | 16 |+----------+------------------+2 rows in set (0.00 sec)
を使用する必要があります。まず、データベース設定ファイル/etc/my.confを変更します
[mysqld]の下に
[mysqld]
old_passwords=1
があるかどうかを確認しますそれを変更します
old_passwords=0
新しいパスワードがない場合は、データベース サービスを再起動します
次に、データベースのパスワード
update mysql.user set password=password('123456') where user='root';update mysql.user set password=password('123456') where user='test';flush privileges; mysql> select user,length(password) from mysql.user;+--------------+------------------+| user | length(password) |+--------------+------------------+| root | 41 | | test | 41 | +--------------+------------------+ 这个更改密码看你有使用几个用户了。
Web ページを再度更新すると正常です。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています

この記事では、Laravel Webフレームワークの通知システムを検討します。 Laravelの通知システムを使用すると、さまざまなチャネルでユーザーに通知を送信できます。今日は、通知ovを送信する方法について説明します
