新しい Windows 7 64 ビット システムをインストールした後、さまざまなことを設定しました。昨日、php apache の設定を開始したとき、echo phpinfo() はまったく問題ありませんでしたが、mysql に接続すると、ページリセットの問題が発生します。問題はそれほど大きくないことが判明しましたが、私は次のような誤解に気づきました。
1. 64 ビット システムに問題があるのではないかと考えました。
2. コードが信頼できないと感じました。そうしないと実行され、substr() の無謀な書き込みでも
が表示される可能性があります...
この問題は 1 日以上私を悩ませてきましたが、まだ解決できていません。 「php 接続 mysql 接続がリセットされました」をキーワードとして検索し、散在する多くの情報を 1 つずつ検索した結果、最終的に libmysql.dll の参照の問題が原因であると述べた人が現れました。私はそれをとても興奮して読み、キャッシュが無駄になるのではないかと思い、コンピュータを再起動する気さえしたかもしれません。結局後になって解決しました。 ----------この出来事をきっかけに、誤解の重要性を痛感しました。誤解に遭遇した人に役立ててほしいと思い、その解決策をここに投稿します。
libmysql を Windows/system32 にコピーし、libmysql.dll を apache/bin にコピーしてみてください。
もちろん、最も簡単な方法は次のとおりです。
Apache の場合:
LoadFile D:/PHP/php5.2.13/libmysql.dll
上記の行だけで、mysql を正常に呼び出すことができます。
私のサーバーのバージョン: win7
apache 2.2.13
php 5.2.13
mysql5.1.37
phpmyadmin3.3.2
以下は私の Apache 部門の構成です。
PHPIniDir D:/PHP/php5.2.13 #不要
LoadFile D:/PHP/php5.2.13/php5ts.dll
LoadFile D:/PHP/php5.2.13/libmysql.dll
LoadModule php5_module D:/PHP/php5.2.13/php5apache2_2.dll
AddType application/x-httpd-php .php