• ベストアンサー

Apache,sendmail,Mysqlを別々のサーバーで運用する方法

Apache,sendmail,Mysqlを別々のサーバーで運用することを考えていますが、PHP等で各サーバーのパスを指定する場合はどういう記述になるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

PHP が Apache の DSO モジュール(mod_php) の場合、Apache の稼動サーバと PHP の稼動サーバを分けるのは難しいだろうと思います。PHP が CLI 版なら違うかもしれませんが、分けるメリットは感じられないですね。 sendmail に関しては、メールサーバを別に、という意味ですよね? MySQL も DB サーバを別に立てて、そのサーバとどうやって通信するか、という意味でよいでしょうか? であれば、PHP の設定、というよりも PHP で書くアプリケーションの書き方次第だと思います。メールサーバ絡みの件は PEAR というキーワードで検索し、DB サーバに関しては MySQL サーバのドキュメントを参照する方がベターじゃないですかね。 # 頑張ってください。

その他の回答 (1)

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

PHPには、MAIL関数、MySQL関数が用意されています。 パスではなく、IPアドレスを指定します。 PHPの文法書など手元に置かれることをお勧めします。 PHP マニュアル http://php.benscom.com/manual/ja/index.php

関連するQ&A

  • sendmailのパス指定方法

    mb_send_mailを使ってメールを送信しようとしているのですが、 テストで最初に送ったメールは届いたのですが、ソースを変えていないにも関わらず、しばらく時間がたった後に再び送信を行ったら、全くメールが届かなくなりました。 レンタルサーバのサイトに、sendmailのパスが書いてあったので、そのパスを指定していないことが原因かと思ったのですが、パスの指定方法がわかりません。 php.iniがいじれればいいのですが、サーバーを借りている側でいじれるようなファイルではないですし、 .htaccessではsendmailのパス指定はできないとも聞きました。 sendmailを使っているphpファイル内の記述で、パスを指定することはできないのでしょうか?

    • ベストアンサー
    • PHP
  • sendmailとApacheを別々のサーバで使用する方法を教えて下さい

    Apacheとsendmailを別々のサーバで起動し、ApacheのサーバのCGIから別サーバのsendmailを利用してmailを送信する方法を教えて下さい。

  • 他のサーバのSendmailへのパスは?

    PerlでフォームメールとかのCGIを作成したときSendmailへのパスを記述すると思いますが、ローカルでSendmailを動かしているときは /usr/sbin/sendmail とかになりますが、他のサーバのSendmailを使いたいときはどのように指定すればいいのですか?

    • ベストアンサー
    • Perl
  • Mysql+PHP+Apache/サーバークライアント環境での

    Mysql+PHP+ApacheでWebからデータベースを扱う勉強をはじめました。この3つを1台のPCにインストールして、Webサーバーをローカルに立てて動作確認をしてきました。これをサーバー/クライアント環境で行う場合のことでお尋ねします。 ★行いたいこと Webサーバーにデータ(HTML、PHP、データベース)を保存しておいて、クライアントからそのデータを操作して、Webページの開発を行いたい。 質問(1) Webサーバーにインストールするのは、Mysql+PHP+Apache、クライアントにインストールするのは、Mysqlでよろしいのか。 質問(2)クライアントのMysqlを起動して、サーバーのMysqlのデータを扱うという考え方でよいのか 質問(3)クライアントのMysql内のデータとサーバーのMysqlのデータの関係はどのようになるのか。 とてもお恥ずかしいですが、宜しくお願いします。

  • windows2003serverにapache,PHP,MySqlをインストールして動かしたい

    はじめまして・・・サーバーが動きません OS:windows2003R2SP2で Apache2.0.59 PHP4.4.6 Mysql4.0.26 をインストールして動かしたいのですが…動きません Mysql→Apache→PHPの順でインストール Mysql、apache、は普通にインストールでき動作確認が出来ました。 PHPをインストールして…Apacheからphpinfo()を流すと…そのまんまブラウザに出力[<?phpinfo();?>]されます。 コマンドプロンプト→PHP d:\htdocs\phpinfo.phpを流すときちんとコマンドプロンプト上では出力されます。 何が悪いのでしょうか? 同じ開発端末windows200proでは同じ構成で普通に動作しています。 IISをインストールしてFTPサーバーを動かしているからでしょうか? それともwindows2003server無理なのでしょうか? よろしくお願いします。

  • Windows 2003 サーバでApache、PHP5、Mysqlで

    Windows 2003 サーバでApache、PHP5、Mysqlで構築中なのですが 不定期にApacheの子プロセスが再起動してしまいます。 error.logのエラーメッセージは下記の通りです。  [notice] Parent: child process exited with status 128 -- Restarting. 別のサーバ環境(OSは同じで別筺体)でテストをしてみても、現象が発生するものと しないものがあります。 Apache、PHP5、Mysqlのバージョンは色々入れ替えてみたりはしたのですが 現象は収まりません。 何か情報をお持ちの方がいらっしゃいましたら、ご教示をお願い致します。

  • ローカルエリア内のMySQLサーバーへのアクセス方法

    昨日MySQLをはじめたばかりの初心者です。 右も左もわからないような状態での質問なので、意味不明な 事を記述してるとしたらお許しください。 [1]まず、「かんたんphp+mysql入門」という本を買い込みました。 [2]添付されているCDを使用して、phpdev423をインストールしました。 [3]さっと、本に目を通して行き、「かねやんMySQLAdmin」を使用して、 MySQLサーバーにアクセスする段に入りました。 [4]本の記述によると、ユーザー名を「root」、ホスト名を「localhost」と 入力して接続ボタンを押せば、MySQLに接続されるはずなのですが できません。 MySQLサーバーが動作しているのかどうかも、よくわかりません。 ただ、プログラムから『phpdev98_ME』を選択してApacheを起動する と、Apacheのプロント画面が開き、ついでのように、一時的に 『C:\phpdev\mysql\bin\mysqld-opt.exe』というプロント画面が開きます。 phpのスクリプトは、正しく(Apachサーバーとの連携)動作します。 phpから、MySQLにアクセス可能かどうか付属のファイルを利用して 試してみましたが、やはりphpからもアクセスできませんでした。 (呼び出しのパスは、localhostです。) ので、とりあえず自分の精一杯の憶測では、MySQL自体が動作していない か、MySQLへのアクセス許可が下りてないかだと考えているのですが…。 それを検証もしくは許可させるには、どうすればいいのかわかりません。 動作環境は、 Apache/1.3.27(Win32) PHP/4.2.3 MySQL バージョン不明 Windows XP です。 以前に似たような記事があり参照させていただきましたが、微妙に動作 環境が違うので、新しく質問させていただきました。 基本的な事なのですが、先に進めず困っています。 どなたか、ご助力お願い致します。

    • ベストアンサー
    • MySQL
  • Apache(CGI) からの sendmail 呼び出しについて

    新規でレンタルサーバ(専用サーバ)を借りて、Web上(CGI)からメールの送信を行えるようにしたいのですが、Apacheを経由するとメールの送信に失敗してしまいます。 コマンドラインからPHP(cli)を実行した場合は問題なくメールを送る事ができているのですが、Web経由だとPerlとPHPのどちらもエラーになってしまいました。 phpのメール送信関数は念のため mail() 関数、および mb_send_mail() 関数の2つでテストしています。 また、PerlCGIからも送信テストを行っています。 エラー内容(sendmailのエラーログ)はPerl、PHPの場合ともにsendmailのエラーログだけ取得でき、同じ内容になりました。 apacheのエラーログは何も出力されませんでした。 ■動作確認済み(正常にメールが送信できました) -コマンドライン 1. > php -f mail.php 2. > echo '<?php $ret=mail("メールアドレス","subject","body"); echo "\nret=$ret \n"; ?>' | php ※ mail.php にメールを送るサンプルスクリプトを記述しています。 別環境(Localのテストサーバ)では正常に動作しているのを確認しました ■ 動作環境 ・レンタルサーバ(専用サーバ) OS: Red Hat Enterprise Linux ES release Apache version: 2.0.52 PHP version: 5.2.9 Perl version : 5.8.8 SELinux: Disabled suEXEC: 利用しない サーバドメイン:(ドメイン取得前のため、まだサーバ名と一致していません) PHP: mail() および mb_send_mail()関数はインストールされています sendmail: 通常のメール送受信は確認済みです(初期設定のまま触っていません) ・エラーログ クライアント画面(Web):PHP, perl共にエラーや警告なし apacheのエラーログ: なし sendmailのエラーログ: Mar 31 02:26:23 c15rx2b3 sendmail[7354]: n2UHQLdN007354: to=(メールアドレス), ctladdr=apache (48/48), de lay=00:00:02, xdelay=00:00:02, mailer=relay, pri=30095, relay=[127.0.0.1] [127.0.0.1], dsn=5.6.0, stat=Data format error Mar 31 02:26:23 c15rx2b3 sendmail[7354]: n2UHQLdN007354: n2UHQLdO007354: DSN: Data format error 「stat=Data format error」と「DSN: Data format error」がエラーメッセージの該当箇所になります。 コマンドラインで実行すると上記のエラーは出ずに正常にメールが送信できているので、原因が特定できず困っています。 気になる箇所としては 1.Server名が取得前ドメインになっているため、一致していない 2.sendmail のエラーログで relay=127.0.0.1 と自アドレスになっている (コマンドラインから実行した場合は relayのアドレスは外部のサーバになります) どのような設定変更が必要か、ご教授頂ければと思います。 足りない情報がありましたらご指摘ください。 よろしくお願い致します。

  • 別サーバへのmysql接続に関して

    諸事情によりPHPプログラムで別のサーバにあるmysqlへ接続しようと 試みていますが、うまくいきません。 それぞれのサーバに入っているPHP,apache,mysqlのバージョンは 下記の通りです。 【PHPを動かすサーバ(以降:サーバA)】  Redhat Linux ES 4.0  PHP Version 4.3.9  Apache 2.0.52  mysql(入っていません) 【mysqlが動いているサーバ(以降:サーバB)】  FreeBSD 4.7  PHP Version 4.3.10  Apache 1.3.37  mysql 4.1.11 プログラムは下記のものです。 if(!$conn = mysql_connect(サーバB:3306,ユーザー名,パスワード)){  die('MySQL接続失敗'); } if(!$sts = mysql_select_db(データベース名,$conn)){  die('テーブル選択失敗'); } サーバBで同一のプログラムを 起動した場合はもちろん問題なく繋がります。 サーバAでは「MySQL接続失敗」となってしまいます。 どのような設定を行えば、サーバAからサーバBのmysqlへ接続可能に なるのか、よろしくご教授の程、お願いいたします。

    • 締切済み
    • PHP
  • apache経由でphpのmysql接続不可

    以下をWindowsXP SP2にインストールしました。 apache_2.2.10-win32-x86-openssl-0.9.8i.msi php-5.2.6-win32-installer.msi mysql-essential-5.0.51b-win32.msi apache経由でmysql_connect()を実行すると以下エラーがapacheのerror.logに記述されmysqlに接続できません。 PHP Fatal error: Call to undefined function mysql_connect() コマンドプロンプト上でphp test.phpと実行する場合は接続できます。 関係ないかもしれませんが、phpinfo()を確認したところ、Apache EnvironmentのPATHにC:\Program Files\PHP\が入っていません。コマンドプロンプト上でsetコマンドを実行するとC:\Program Files\PHP\がPATHに含まれています。apache、OSの再起動を実行しましたが改善しませんでした。 httpd.confおよびphp.iniはインストールウィザードに従い設定し、php.iniの外部モジュールを以下2つ以外コメントアウトする修正のみ行っております。 extension=php_mysql.dll extension=php_mysqli.dll 改善方法をご教授願います。

    • 締切済み
    • PHP