ホームページ >バックエンド開発 >PHPチュートリアル >PHP が mysql に接続できない問題を解決します。オンラインで待機します。
このマシンは win7 システムです
PHP バージョン: PHP バージョン 5.2.6
apache 2.2
mysql: 5.1.40
ローカルテストでは、PHP は正常に動作しますが、唯一のことは、mysql に接続できず、phpmyadmin を使用できないことです
ローカル テストは IE で行われます。360 では、次のようなプロンプトが表示されます: 指定した Web ページにアクセスできません! エラーの種類: 接続に失敗しました
解決にご協力ください。ありがとうございます...
MYSQL への接続に使用するステートメントを見てみましょう。
<?php$link=mysql_connect('localhost','root','admin');if(!$link) echo "fail";else echo "success";mysql_close();?>
まずサービスを開いて、mysql サービスが開始されているかどうかを確認します
Navicat をダウンロードして作成しますか? 次にテストします
ホスト名または IP: localhost を入力します
ポート: 3306
ユーザー名とパスワードは次のとおりです設定を入力します。デフォルトのユーザー名は root です
サービスに移動して、mysql が開始されていることを確認します
私はデータベースに接続できる mysql 用の EMS SQL MANAGER 2005 lite を使用しています。 localhost
ポート 3306
ユーザー名 root
パスワード admin
これでデータベースに接続できます。
環境が正しく設定されていません
php は実行できます。 mysql にアクセスできません...どう設定すればよいですか? 。インターネット上の php.ini ファイルによると、n 回変更されており、アクセスできません
10 階の bsk_bg からの返信を引用:
Web ページを表示できないコードを貼り付けました
HTML コード
5ee5d00c817d813e46336070c67b569b 100db36a723c770d327fc0aef2ce13b1 93f0f5c25f18dab9d176bd4f6de5d30e
你需要在 phpinfo() 的结果页面中查看 display_errors 项
对,用此方法输出一下看看php的状况
把地址栏的http://localhost/访问MYSQL的PHP页地址改换为:http://127.0.0.1/访问MYSQL的PHP页地址
或者颠倒过来试一下!
根据以上几楼改动测试。问题依旧未解决
你需要在 phpinfo() 的结果页面中查看 display_errors 项
我粘上我的phpinfo()页面的一些结果上来
ConfigurationPHP CoreDirective Local Value Master Value allow_call_time_pass_reference On On allow_url_fopen On On allow_url_include Off Off always_populate_raw_post_data Off Off arg_separator.input & & arg_separator.output & & asp_tags Off Off auto_append_file no value no value auto_globals_jit On On auto_prepend_file no value no value browscap no value no value default_charset no value no value default_mimetype text/html text/html define_syslog_variables Off Off disable_classes no value no value disable_functions no value no value display_errors On On display_startup_errors On On doc_root no value no value docref_ext no value no value docref_root no value no value enable_dl On On error_append_string no value no value error_log no value no value error_prepend_string no value no value error_reporting 6135 6135 expose_php On On extension_dir c:\php\ext c:\php\ext file_uploads On On highlight.bg #FFFFFF #FFFFFF highlight.comment #FF8000 #FF8000 highlight.default #0000BB #0000BB highlight.html #000000 #000000 highlight.keyword #007700 #007700 highlight.string #DD0000 #DD0000 html_errors Off Off ignore_repeated_errors Off Off ignore_repeated_source Off Off ignore_user_abort Off Off implicit_flush Off Off include_path .;C:\php5\pear .;C:\php5\pear log_errors Off Off log_errors_max_len 1024 1024 magic_quotes_gpc On On magic_quotes_runtime Off Off magic_quotes_sybase Off Off mail.force_extra_parameters no value no value max_execution_time 30 30 max_input_nesting_level 64 64 max_input_time 60 60 memory_limit 2M 2M open_basedir no value no value output_buffering no value no value output_handler no value no value post_max_size 8M 8M precision 12 12 realpath_cache_size 16K 16K realpath_cache_ttl 120 120 register_argc_argv On On register_globals Off Off register_long_arrays On On report_memleaks On On report_zend_debug On On safe_mode Off Off safe_mode_exec_dir no value no value safe_mode_gid Off Off safe_mode_include_dir no value no value sendmail_from no value no value sendmail_path no value no value serialize_precision 100 100 short_open_tag On On SMTP localhost localhost smtp_port 25 25 sql.safe_mode Off Off track_errors Off Off unserialize_callback_func no value no value upload_max_filesize 2 2 upload_tmp_dir no value no value user_dir no value no value variables_order EGPCS EGPCS xmlrpc_error_number 0 0 xmlrpc_errors Off Off y2k_compliance On On zend.ze1_compatibility_mode Off Off
继续等待结果..............
是不是权限问题?
记录中
重新安装php 和apache 到其他非c盘看看.包括mysql.
没必要在这种事情上纠结.
这种情况很简单,只需要把 php.ini中“;extension=php_mysql.dll”前的“;”去掉,加载mysql模块。重要的是配置Apache把其中的httpd.conf 中加入“ phpinidir “E:/PHP””就是你的安装路径
未解决....................
IE オプションで [フレンドリーな HTTP エラー メッセージ] のチェックを外します。
この状況は非常に簡単で、php.ini の「;extension=php_mysql.dll」の前の「;」を削除して、mysql モジュールをロードするだけです。重要なことは、Apache を設定し、インストール パスである httpd.conf に「phpinidir "E:/PHP"」を追加することです
正解です!
あはは、とても単純な質問ですね。 PHP が mysql に接続できないのは、php.ini 内の dll ファイルが開かれていないことが原因です。リンクがあるかどうかを確認してください。 LZ ああ、もっと勉強してください
あはは、とても単純な質問ですね。 PHP が mysql に接続できないのは、php.ini 内の dll ファイルが開かれていないことが原因です。リンクがあるかどうかを確認してください。 LZ ああ、もっと勉強してください
これは前のフロアで回答済みで、オープンできるものはすべてオープンされました
phpinfo を投稿し、データベースに接続する DLL はすべてオープンされました
の libystu からの返信を引用します。 34階:
この状況 php.iniの「;extension=php_mysql.dll」の前の「;」を削除してmysqlモジュールをロードするだけです。重要なことは、Apache を設定し、インストール パスである httpd.conf に「phpinidir "E:/PHP"」を追加することです
正解です!
この質問は前のフロアでも提起されました。それはそれほど単純ではありません、私はあなたが言ったようにこれらすべてのことを行いました。
まず、php 設定ファイルがすべて設定されているかどうか、不足しているものがないかどうかを確認してください
次に、mysql サービスが有効になっているかどうかを確認してください
Apache は正常にセットアップされていますか?
まず、php 設定ファイルがすべて設定されているかどうか、不足しているものがないかどうかを確認してください
次に、mysql サービスが有効になっているかどうかを確認してください
mysql をフォローするプロセス中に、設定エラーはありませんか
Apache は正常にセットアップされていますか?
確認後、必要なものはすべて設定されています
Apache で PHP プログラムを実行できます PHP の動作環境に問題がないことを示しています
見て、問題が見つかるかどうかを確認してください
データベースに接続できるかどうかテストしてください。
そうでない場合は、データベースのインストールが失敗したことを意味します。
開発環境にない可能性があります。 。 。 。
C:phpext 環境変数 php を追加します
まず、データベースが正常に実行されているかどうかを 2 つの方法でテストします:
1. コマンド ラインから telnet localhost 3306 を実行して、接続できるかどうかを確認します。
2. コマンドラインから mysql インストールディレクトリの下の bin ディレクトリに移動し、mysql -u root -p を実行して、root ユーザーのパスワードを入力します。接続できた場合は、mysql が正常に実行されていることを意味します。
上記のチェックに加えて、Apache ログを確認することもできます
libmysql.dll は MYSQL ではなく PHP にあり、System32 にコピーされています
私もこの問題に遭遇しました~~~本当にめまいがします~~ ~
先生、問題は解決しましたか? 私もこの問題に遭遇しました。解決策を見つけてください! ! ! ! ! ! ! ! ! ! !
1.extension_dir = ".ext"
2. mysqllib.dllを参照するために、phpのディレクトリを環境変数パスに追加する必要があります。
3.extension=php_mysql.dll アノテーションと削除
4.display_errors = On はデバッグに便利です。オンにすると、undefine 関数が表示されるだけで 404 エラーが発生します。
Apache が一般的な php ページにアクセスできる場合は、データベースも接続できるはずです。