Monthly Archives: 10月 2012

apachectl status で、ステータスが表示されない

$ apachectl status

でステータスが表示されなかったので、調査しました。

【環境】
CentOS 6.2 x86_64
Apache 2.2.15

The ‘links’ package is required for this functionality.

apachectl スクリプトの中身を解析してみると、/usr/bin/links というコマンドがないため発生しているエラーのようです。/usr/bin/links とは何かを調べてみると elinks というテキストブラウザのことでした。

elinks をインストールします。

$ yum -y install elinks

インストール後再度

$ apachectl status

The requested URL /server-status was not found on this server.

やはり、上記エラーメッセージが表示されステータスは表示されません。

また調べてみると、httpd.conf の中に

#<Location /server-status>;
#  SetHandler server-status
#  Order deny,allow
#  Deny from all
#  Allow from .example.com
#</Location>;

という記述が、コメントアウトされていました。 ということで、何も考えずにコメントを外し,

$ apachectl status

You don’t have permission to access /server-status on this server.

まだ、うまくいきません。

エラー文言も変わっていたので前回の修正部分を再度見直しました。 “.example.com” これは、明らかに変なので、localhost に修正しました。

<Location /server-status>
  SetHandler server-status
  Order deny,allow
  Deny from all
  Allow from localhost
</Location>
$ apachectl status
Apache Server Status for localhost
Server Version: Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3
Server Built: Dec 8 2011 18:10:49
--------------------------------------------------------------------------
Current Time: Monday, 29-Oct-2012 12:13:43 JST
Restart Time: Monday, 29-Oct-2012 12:13:36 JST
Parent Server Generation: 5
Server uptime: 6 seconds
1 requests currently being processed, 7 idle workers

W_______........................................................
................................................................
................................................................
................................................................

Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process

正しくステータスが表示されたようです。

Windows版PHP実行時のエラー

Windows版PHP5をインストールし、
コマンドラインから、php -v としたとき発生したエラー。
その解決策をメモしました。

Windows 7 Ultimate (x86)
PHP 5.3.18

(1)エラー「Cannot find module …」が表示される

No log handling enabled - turning on stderr logging
Cannot find module (IP-MIB): At line 0 in (none)
Cannot find module (IF-MIB): At line 0 in (none)
Cannot find module (TCP-MIB): At line 0 in (none)
Cannot find module (UDP-MIB): At line 0 in (none)
Cannot find module (HOST-RESOURCES-MIB): At line 0 in (none)
Cannot find module (SNMPv2-MIB): At line 0 in (none)
Cannot find module (SNMPv2-SMI): At line 0 in (none)
Cannot find module (NOTIFICATION-LOG-MIB): At line 0 in (none)
Cannot find module (UCD-SNMP-MIB): At line 0 in (none)
Cannot find module (UCD-DEMO-MIB): At line 0 in (none)
Cannot find module (SNMP-TARGET-MIB): At line 0 in (none)
Cannot find module (NET-SNMP-AGENT-MIB): At line 0 in (none)
Cannot find module (DISMAN-EVENT-MIB): At line 0 in (none)
Cannot find module (SNMP-VIEW-BASED-ACM-MIB): At line 0 in (none)
Cannot find module (SNMP-COMMUNITY-MIB): At line 0 in (none)
Cannot find module (UCD-DLMOD-MIB): At line 0 in (none)
Cannot find module (SNMP-FRAMEWORK-MIB): At line 0 in (none)
Cannot find module (SNMP-MPD-MIB): At line 0 in (none)
Cannot find module (SNMP-USER-BASED-SM-MIB): At line 0 in (none)
Cannot find module (SNMP-NOTIFICATION-MIB): At line 0 in (none)
Cannot find module (SNMPv2-TM): At line 0 in (none)

【原因となるExtension】
php_snmp.dll
【解決策】
net-snmp を正しくインストールするか、php.ini の extension=php_snmp.dll の部分をコメントする。
snmp をどうこうすることもないので、後者を実施しました。

(2)メッセージボックスに「コンピューターに libcs.dll がないため、プログラムを開始できません。」のエラーが表示。

【原因となるExtension】
php_sybase_ct.dll
【解決策】
データベースはMySQLを使用。 sybase は使わないのでコメント

(3)メッセージボックスに「コンピューターに libcs.dll がないため、プログラムを開始できません。」のエラーが表示

【原因となるExtension】
php_intl.dll
【解決策】
Moodleという授業用のWebページを作るためのソフトウェアを使用する際に必要らしいが、その予定もないのでコメント

PHP Warning

PHP Warning:  date(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function.

読んで字の通り、php.ini に

date.timezone = 'Asia/Tokyo'

とするか、コード中に

date_default_timezone_set('Asia/Tokyo')

とすれば、このワーニングはなくなる。