Linuxからあるサーバー(DBサーバーとかSMTPサーバーとか)のサービスを利用するには
プロセス間通信を行なう必要がある。
プロセス間通信を行なうにはソケットというインターフェースを利用する
このソケットというのはファイルみたいなものを想像したらよく、
Linuxがこのファイルをオープン、読み込んでプロセス間通信を実現する。
このソケットには2パターンある
①INETドメインソケット
②UNIXドメインソケット
である。
①は異なる2つのサーバー間のプロセス間通信に使われ、通常IPアドレス+ポート番号を指定して作成される。
一方で②はひとつのサーバー内のプロセス間通信に使われる。
①の場合、接続されるサーバーは接続されるポートのTCP接続を開放しなければ通信できない。
他方②の場合はポートをTCP接続用(外部向け)に開放しなくてもよい。
phpからmysqlに接続するmysql_connetc関数では
mysql_connect($hostname , $username , $password )
となる。INETドメインソケット通信で他サーバに接続する場合は、$hostnameにIPアドレス:ポート番号を指定する。
$hostnameに”localhost”を指定した場合は自動的にUNIXドメインソケット通信を行なう。