ホームページ >バックエンド開発 >PHPチュートリアル >redhat 上の PHP は mysql に接続します。コマンドラインでは問題ありませんが、Web ページにエラーが発生します。

redhat 上の PHP は mysql に接続します。コマンドラインでは問題ありませんが、Web ページにエラーが発生します。

WBOY
WBOYオリジナル
2016-06-13 12:02:26998ブラウズ

Redhat環境下でのPHPはmysqlに接続します。コマンドラインでは問題ありませんが、Webページではエラーが発生します。
見てみるのを手伝ってください。 AWS 上に php apache mysql 環境をセットアップしました。
php apache と mysql を分離したいです。
サーバー A には php と apache のみがインストールされています。そして、mysql クライアント
サーバー B には mysql のみがインストールされています。
同じコードはコマンドラインで正常に実行でき、データのクエリと挿入が可能です。
しかし、Web ページの下部にエラーがあります。プロンプト:

<br />Can't connect to MySQL server on '192.168.9.9' (13)<br />


コードは次のとおりです:
<br /><?php<br />//php phpinfo();<br /><br />$link = mysql_connect("192.168.9.9","root","12345") or die("can't connect mysql".mysql_error());<br />mysql_select_db("wtest",$link) or die ('Can\'t use foo : ' . mysql_error());;<br />$resx = mysql_query("insert into west values(".rand(0,9999).")");<br />$res = mysql_query("show variables like 'socket'");<br />//$res = mysql_query("select * from west");<br />//echo mysql_result($res,1);<br />while($row=mysql_fetch_array($res)) {<br />//       $return[] = $row;<br />echo $row[0]."<br>\n";<br />   }<br /><br /> ?><br /><br />

見てみるのを手伝ってください。サーバー A に mysql サーバーのバージョンをインストールする必要がありますか?

-----解決策--------------------------------
ローカルでのみアクセスできるようにアクセス権限が制限されていますか?
------解決策----------------------
マシン A はマシン B に ping できますか?
また、マシン B はリモート接続を許可しますか?

-----解決策---------
Mysql 拡張機能は phpinfo で正常に開かれますか?
------解決策----------------------
root アカウントのリモート権限は有効になっていますか?
------解決策---------
たとえば、マシン IP に幸運のアクセス許可を割り当てます。 :
GRANT select、insert、update、delete ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword";
-----解決策------ ----------------
マシン A で php コマンドラインを使用するのは問題ありません。データベースはマシン B にあるため、リモートまたは権限の問題。

Apache に関連して、以前にも同様の問題に遭遇したようですが、解決方法を思い出せません。
------解決策---------
解決策 1.: setsebool -P httpd_can_network_connect_db= 1

解決策 2: /etc/selinux/config SELINUX=enforcing を SELINUX=disabled に変更します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。