運用中のLinux(RedHat ES3) + apache1.3 + PHP4 環境にMySQL5のクライアントをインストールしたところ、PHPが動かなくなってしまいました。HTMLファイルは表示できるのでapacheは稼働していると思うのですが・・。

MySQLのコンパイル+インストール、PHPの再コンパイル+インストールは問題なく終了し、apacheの再起動もしたのですが、問題が解りません。解決に向けて、何か情報を頂けないでしょうか。よろしくお願いします。

【環境】
OS : RedHat Linux ES3
Apache 1.3.34
PHP 4.4.1
MySQL 5.1.57(クライアントのみ)

【コンパイル+インストール手順】
■MySQL
# tar zxvf mysql-5.1.57.tar.gz
# cd mysql-5.1.57
# ./configure –prefix=/usr/local/mysql –without-server
# make
# make install

■PHP
# rm -rf php-4.4.1 ←一度アンインストール
# tar zxvf php-4.4.1.tar.gz
# cd php-4.4.1
# ./configure --with-apxs=/usr/local/apache/bin/apxs (省略) --with-mysql=/usr/local/mysql (省略)
# make
# make install

■apache再起動
# /usr/local/apache/bin/apachectl stop
# /usr/local/apache/bin/apachectl start

→phpinfoで確認しようとしたところ、「サーバが見つかりません(IE6)」の画面になります。

以上、よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/08/03 08:58:35
  • 終了:2011/08/04 08:48:24

回答(2件)

id:JULY No.1

JULY回答回数966ベストアンサー獲得回数2472011/08/03 09:20:27

ポイント50pt

まず、Apache のログを確認して下さい。RHEL3 で Apache のログがどこにあるのか、正確には覚えていないのですが、恐らくは /var/log/httpd 下に、access.log とか、error.log があると思います。これを見て、

  • 正常に見える HTML ファイルをアクセスした時。
  • phpinfo() を書いた php ファイルが上手く表示されない時。

のサーバ側から見たアクセスの様子がどうなっているかを確認して下さい。

「サーバが見つかりません(IE6)」の画面になります。

だと、単に URL を間違っている場合と区別が付きません。


余談ですが、RHEL3 は、通常運用のサポートが 2010 年 10 月 30 日をもって終了しています。

access.redhat.com | Red Hat Enterprise Linux Life Cycle


追記:

/var/log/httpdには何もなかったので、/usr/local/apache/logsのaccess_logとerror_logを確認したところ、

あっ、Apache も自前ビルドですね。質問文の再起動の手順で /usr/local/apache~ って書いてましたね。失礼しました。

phpinfo()のPHPファイルでは何も書き込まれませんでした。

だと、本当に URL が正しいのか、とか、ブラウザ側で Proxy の設定とか大丈夫か、とかを疑いたくなります。


こういう時、個人的にはすぐに、Wireshark を使って、意図したパケットが本当にサーバに向かっているのか、サーバが受け取っているのかを調べます。ただ、ちょっと敷居が高いかも...。

id:doogie

回答ありがとうございます。

/var/log/httpdには何もなかったので、/usr/local/apache/logsのaccess_logとerror_logを確認したところ、HTMLファイルをアクセスしたときにはaccess_logに「"GET /test.html HTTP/1.1" 304 -」と書き込まれましたが、phpinfo()のPHPファイルでは何も書き込まれませんでした。

error_logにはどちらも何も書き込まれていません。

リクエストを受け付けていないということでしょうか・・?

2011/08/03 09:52:16
id:km1981 No.2

km1981回答回数429ベストアンサー獲得回数492011/08/03 10:40:23

ポイント50pt
  1. modules/libphp4.so はありますか?
  2. /usr/local/php/lib/php.ini はありますか?
id:doogie

回答ありがとうございます。

1.「libphp4.so」はhttpd.confに「LoadModule php4_module libexec/libphp4.so」の記述があるとおり「/usr/local/apache/libexec」にあります。

2.「php.ini」は「/usr/lib」にそのままあります。以前はその位置で動いてましたが・・・。

2011/08/03 11:07:39
  • id:km1981
    >「php.ini」は「/usr/lib」にそのままあります。以前はその位置で動いてましたが・・・。
    PHPビルド時に--with-config-file-path=PATH オプションを指定していなければ
    デフォルト値は PREFIX/lib になります
    ビルドのパラメータを確認してください
    http://www.php.net/manual/ja/configure.about.php
  • id:doogie
    km1981さん回答ありがとうございます。

    PHPのconfigureオプションで「--with-config-file-path」はつけていませんでした。
    「--prefix=/usr」はつけているので、「/usr/lib」ということですよね。そこにはphp.iniがあります。

    ちなみに、configureオプションは以下です。
    -------------------------------------------------
    ./configure --with-apxs=/usr/local/apache/bin/apxs --enable-mbstring=all --enable-xmlrpc --with-xml --with-config-file-scan-dir --with-dom=/usr/local --enable-xslt --with-iconv=/usr/local --with-zlib=/usr --enable-mbregex --with-sybase=/usr/local --with-iconv-dir=/usr/local --with-mysql=/usr/local/mysql --with-openssl --enable-ftp --with-gettext --with-zlib=/usr --enable-debugger --enable-zend-multibyte --enable-track-vars --includedir=/usr/include --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sysconfdir=/etc --datadir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --enable-trackvars --enable-trans-sid --enable-cli --with-xslt-sablot=/usr/local --with-ldap=/usr --with-gd --with-freetype-dir=/usr/local --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --enable-gd-jis-conv
    -------------------------------------------------

    いちどMySQLをアンインストールして、PHPも戻してみようかと考えてます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません