PHP が mysql に接続できない問題を解決します。オンラインで待機します。

WBOY
リリース: 2016-06-23 14:06:04
オリジナル
1048 人が閲覧しました

このマシンは 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

これでデータベースに接続できます。

$link=mysql_connect('localhost','root','admin');
if(!$link) echo "fail".mysql_error(); // 出力されるエラー メッセージを確認します。 else echo "success";

<?php$link=mysql_connect('localhost','root','admin');if(!$link) echo "fail".mysql_error(); //看看输出什么错误信息else echo "success";?>
ログイン後にコピー
ログイン後にコピー

<?php$link=mysql_connect('localhost','root','admin');if(!$link) echo "fail".mysql_error(); //看看输出什么错误信息else echo "success";?>
ログイン後にコピー
ログイン後にコピー

を置き換えた後、このプログラム セグメントを実行すると、Internet Explorer は Web ページを表示できなくなります




私のコードで接続を試みることができます
$Conn = mysql_connect("localhost","root","admin",1) または Die('データベース サーバーの接続に失敗しました。構成設定が正しいことを確認してください!')

または


$pdo = New PDO('mysql: host =localhost;dbname=データテーブル名','root','admin');


Web ページを表示できないコードを貼り付けます

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>     <head>        <link rel="stylesheet" type="text/css" href="ErrorPageTemplate.css" >         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">        <title>Internet Explorer 无法显示该网页</title>         <script src="errorPageStrings.js" language="javascript" type="text/javascript">        </script>        <script src="httpErrorPagesScripts.js" language="javascript" type="text/javascript">        </script>    </head>     <body onLoad="javascript:initMoreInfo('infoBlockID');">         <table width="730" cellpadding="0" cellspacing="0" border="0">         <!-- Error title -->            <tr>                <td id="infoIconAlign" width="60" align="left" valign="top" rowspan="2">                    <img src="noConnect.png" id="infoIcon" alt="信息图标" width="48" height="48">                </td>                <td id="mainTitleAlign" valign="middle" align="left" width="*">                    <h1 id="mainTitle">Internet Explorer 无法显示该网页</h1>                </td>            </tr>             <tr>                <!-- This row is for HTTP status code, as well as the divider-->                <td id="errorCodeAlign" class="errorCodeAndDivider" align="right">                     <div class="divider"></div>                </td>            </tr>         <!-- What you can do -->            <tr>                <td>                                     </td>                <td id="whatToTryAlign" valign="top" align="left">                    <h2 id="whatToTry">您可以尝试以下操作:</h2>                </td>            </tr>         <!-- Check Connection -->            <tr>                <td >                                     </td>                <td id="checkConnectionAlign" align="left" valign="middle">                    <h4>                        <table>                            <tr>                                <td valign="top">                                </td>                                <td valign="middle">                                    <button onclick="javascript:diagnoseConnectionAndRefresh(); return false;" id="diagnose">诊断连接问题</button>                                </td>                            </tr>                        </table>                    </h4>                </td>            </tr>          <!-- InfoBlock -->            <tr>                <td id="infoBlockAlign" align="right" valign="top">                                     </td>                <td id="moreInformationAlign" align="left" valign="middle">                    <h4>                      <table>                          <tr>                              <td valign="top">                                  <a href="#" onclick="javascript:expandCollapse('infoBlockID', true); return false;"><img src="down.png" id="infoBlockIDImage" border="0" class="actionIcon" alt="详细信息"></a>                              </td>                              <td valign="top">                                  <span id="moreInfoContainer"></span>                                  <noscript><ID id="moreInformation">更多信息</ID></noscript>                              </td>                          </tr>                      </table>                    </h4>                    <div id="infoBlockID" class="infoBlock" style="display: none">                        <p>                            <ID id="errorExpl1">此问题可能是由下列各种问题导致的:</ID>                            <ul>                                <li id="errorExpl2">Internet 连接已丢失。</li>                                <li id="errorExpl3">该网站暂时不可用。</li>                                <li id="errorExpl4">无法连接到域名服务器(DNS)。</li>                                <li id="errorExpl5">域名服务器(DNS)没有该网站的域的列表。</li>                                <li id="errorExpl7">在地址中可能存在键入错误。</li>                                 <li id="errorExpl6">如果这是 HTTPS (安全)地址,请单击“工具”菜单下的“Internet 选项”,再单击“高级”选项卡,然后请检查以确保“安全”部分下的 SSL 和 TLS 协议已启用。</li>                            </ul>                        </p>                        <p id="offlineUsers">对于脱机用户<b></b></p>                                                             <p id="viewSubscribedFeeds1">                           仍可查看已订阅的源和最近查看过的一些网页。<br/>                           若要查看已订阅的源                           <ol>                               <li id="viewSubscribedFeeds2">单击“收藏夹”按钮<img src="favcenter.png" border="0">,单击“源”,然后单击希望查看的源。</li>                           </ol>                        </p>                        <p id="viewRecentWebpages1">查看最近访问过的网页(不查看所有页面)                           <ol>                              <li id="viewRecentWebpages2">单击“工具”<img src="tools.png" border="0">,然后单击“脱机工作”。</li>                              <li id="viewRecentWebpages3">单击“收藏夹”按钮<img src="favcenter.png" border="0">,单击“历史记录”,然后单击希望查看的页面。</li>                           </ol>                        </p>                    </div>                </td>            </tr>         </table>     </body></html>ry
ログイン後にコピー

Web ページを表示できないコードを貼り付けます

HTMLコード


;

または、入力した URL が間違っています。

環境が正しく設定されていません

404 エラー、アクセスされているファイルが存在しないか、入力した URL が間違っています。

ページを開くとすぐに実行されます.... この問題が発生します。 。 mysql と関係のないものはすべてこのページで実行できます。これは、phpmyadmin にアクセスした場合も同じで、ユーザー名とパスワードを入力すると、ログイン ページが表示されますが、表示できません。 。 。

環境が正しく設定されていません


php は実行できます。 mysql にアクセスできません...どう設定すればよいですか? 。インターネット上の php.ini ファイルによると、n 回変更されており、アクセスできません

10 階の bsk_bg からの返信を引用:

Web ページを表示できないコードを貼り付けました

HTML コード




私は注意して痕跡を見逃していません...

php のエラー表示機能をオンにするだけですべてがわかります

本当に無理です 統合環境をダウンロードするだけです
http://www.php100.com/html/download/server/2010/1226/wamp21a.html
シンプルで実用的で、ini を設定する必要はありません 私もこれを使用しています。

你只需开启php的错误显示功能,就什么都知道了

php.ini已配置着显示错误呢。 就是不显示,不知道原因在哪块






实在不行你就下载集成环境吧
http://www.php100.com/html/download/server/2010/1226/wamp21a.html
简单实用,不用配置ini就行.我也在用这个

谢谢了,我想先弄明白这一块,毕竟要使用PHP了,弄不明白心里不太舒服

$link = mysql_connect('localhost','root','admin') or die(mysql_error());

如果这样写出现找不到网页的情况,就表示你的 php 没有开启错误显示功能

$link = mysql_connect('localhost','root','admin') or die(mysql_error());

如果这样写出现找不到网页的情况,就表示你的 php 没有开启错误显示功能

写成你这样,网页显示空白,查看源码也无任何信息。。



开启错误功能我更改的是如下:

;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR;;   - Show all errors except for notices and coding standards warnings;error_reporting  =  E_ALL & ~E_NOTICE; Print out errors (as a part of the output).  For production web sites,; you're strongly encouraged to turn this feature off, and use error logging; instead (see below).  Keeping display_errors enabled on a production web site; may reveal security information to end users, such as file paths on your Web; server, your database schema or other information.;; possible values for display_errors:;; Off        - Do not display any errors; stderr     - Display errors to STDERR (affects only CGI/CLI binaries!);;display_errors = "stderr";; stdout (On) - Display errors to STDOUT;display_errors =On
ログイン後にコピー

上面的本想加红。结果成代码。。

;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
;
; - Show all errors except for notices and coding standards warnings
;
error_reporting = E_ALL & ~E_NOTICE

; Print out errors (as a part of the output). For production web sites,
; you're strongly encouraged to turn this feature off, and use error logging
; instead (see below). Keeping display_errors enabled on a production web site
; may reveal security information to end users, such as file paths on your Web
; server, your database schema or other information.
;
; possible values for display_errors:
;
; Off - Do not display any errors
; stderr - Display errors to STDERR (affects only CGI/CLI binaries!)
;
;display_errors = "stderr"
;
; stdout (On) - Display errors to STDOUT
;
display_errors =On

display_startup_errors = On试试。

display_startup_errors = On试试。

这一项也开着呢。

你需要在 phpinfo() 的结果页面中查看 display_errors 项

$dbbase="localhost";
$dbname="root";
$dbpass="1234";
$id=mysql_connect($dbbase,$dbname,$dbpass);
$ok=mysql_select_db("lvyou",$id);
mysql_query('SET names "utf8"');
?>

这个是我常用的 修改测试一下 一般不会有问题。

你需要在 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 サービスが有効になっているかどうかを確認してください

mysql をフォローするプロセス中に、設定エラーはありませんか

Apache は正常にセットアップされていますか?

まず、php 設定ファイルがすべて設定されているかどうか、不足しているものがないかどうかを確認してください
次に、mysql サービスが有効になっているかどうかを確認してください
mysql をフォローするプロセス中に、設定エラーはありませんか
Apache は正常にセットアップされていますか?

確認後、必要なものはすべて設定されています

Apache で PHP プログラムを実行できます PHP の動作環境に問題がないことを示しています

mysql サービスが開始されており、接続して使用できることのみです。うまくいかないのは、PHP が mysql に接続できないということです


apache/logs/error.log

見て、問題が見つかるかどうかを確認してください

データベースに接続できるかどうかテストしてください。

そうでない場合は、データベースのインストールが失敗したことを意味します。

未解決....................

開発環境にない可能性があります。 。 。 。

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 ページにアクセスできる場合は、データベースも接続できるはずです。

🎜 上記の設定を変更した後は、必ず Apache を再起動してください。 phpinfo を使用すると、mysql モジュールの存在を確認できます (オペレーティング システムを再起動する必要はありません)。 🎜
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!