PHP+ApacheでMySQLに接続できない。プロンプトからは可能
以下のようなコードでmysqltest.phpというファイルを作成しました。
これを
php -f mysqltest.php
とやると成功します。
しかし、ブラウザでhttp://パス/mysqltext.phpとやると失敗します。
双方がどう違うのか教えていただけないでしょうか。
以下コードです。
-----------------------
<html>
<body>
<?php
$hostname = "localhost:/var/lib/mysql/mysql.sock";
$name = "root";
$password = "pass";
printf( "hostname:%s<br>\n" , $hostname );
printf( "username:%s<br>\n" , $name );
printf( "password:%s<br>\n" , $password );
mysql_connect($hostname, $name, $password )
or die('cannot connect to database');
?>
</body>
</html>
----------------------------------
単に「ホスト:ポート」「ユーザネーム」「パスワード」を指定してconnectしているだけです。
コマンドラインから実行すると成功します
----------------------
<html>
<body>
hostname:localhost:/var/lib/mysql/mysql.sock<br>
username:root<br>
password:komaba<br>
</body>
</html>
----------------------------
ブラウザで実行すると失敗します。
-----------------------------
hostname:localhost:/var/lib/mysql/mysql.sock
username:root
password:pass
cannot connect to database
-----------------------------
お礼
こちらもでお返事ありがとうございます。こちらもこの関数を使って解決しようとおもいます。