アーカイブ - 6月, 2010



2010年 6月 30

Perl の $ENV{PATH} は何処を参照しているのか?

例えば bayon を perl から使うのに Text::Bayon モジュールを利用したら
sh: bayon: command not found
と言うエラーログが残る。

コマンドが見つからない = パスが通っていない、と言う事なんだろうけど、apache を2.2 にしたらパスが変わったのか apache2.0 の時に使えた Lingua::JA::Summarize を使用するスクリプトも

sh: mecab: command not found

となる。

mecab も bayon も /usr/local/bin にインストールしてあるのだけれど、$ENV{PATH} を調べてみると、
$ENV{PATH} = /sbin:/usr/sbin:/bin:/usr/bin
となっており、/usr/local/bin にはパスが通っていない。

この 環境変数はどこを参照しているのかまさに以下のページのような迷い方をした。

apacheの起動ユーザーにPATH通しときゃいいのか?とか、httpd.confにそういう設定が?とか、もしかしてPHP.iniにそんな設定が?とか思ってたんですが、全部ハズレ。

Apache2の環境変数PATHを設定する – masahilog

SetEnvやPassEnvディレクティブを追加してみたり、. bash_profile を変更したり、散々いろいろ試してみたけど、上記ページのおかげでヒントが得られたのでメモ。

CentOS系(というかRedhat系、だろうか)は/etc/sysconfig/httpdがそれに該当するような。探しても調べてもenvvarsの影も形も無かったけど、/etc/init.d/httpdの冒頭箇所で/etc/sysconfig/httpdがあったらそれを評価してからhttpdが起動するようになってる。なんでこんな仕様なんだろうか。

追記でこのように書かれていたのだけれど、/etc/rc.d/init.d/httpd を見てみると、 /etc/sysconfig/httpd のみではなく、 /etc/rc.d/init.d/functions も参照している。

/etc/rc.d/init.d/functions を見ると、ビンゴでした。

# Set up a default search path.
PATH="/sbin:/usr/sbin:/bin:/usr/bin"
export PATH

ここのパスを変更して、保存。

注意点としては、apache を再起動ではなく 停止してから起動する事。
再起動では反映されませんでした。

ちなみに CentOS (4.x 5.x) での話ですので他のディストリビューションでは違うかもしれません。


Filed under: Apache,CentOS4.x,CentOS5.x,perl

Trackback Uri






2010年 6月 19

使っているPHPのプログラムで Notice: Undefined variable: というエラーログが残るのがウザすなので対策。

php.ini の error_reporting = E_ALL & ~E_NOTICE がコメントアウトされているので有効化する。

;error_reporting = E_ALL & ~E_NOTICE
↓有効化
error_reporting = E_ALL & ~E_NOTICE

error_reporting  =  E_ALL
↓ コメントアウト
;error_reporting  =  E_ALL

Apache を再起動して設定を有効にする。


Filed under: PHP

Trackback Uri






2010年 6月 17

環境

CentOS 4.8
Apache 2.2.15
PHP 5.2.13

Zend Framework ダウンロード

http://framework.zend.com/download/latest
「Zend Framework Full Package」から Zend Framework 1.10 full をダウンロード
ユーザー登録が必要。

wget http://downloads.zend.com/framework/1.10.5/ZendFramework-1.10.5.tar.gz

解凍する

# tar -zxvf ZendFramework-1.10.5

/usr/share/php 配下に移動する。

# mv ZendFramework-1.10.5 /usr/share/php

php.ini の設定

include_path を設定する
include_pathで検索して以下のパスを追記

# vi /etc/php.ini
...
include_path = “.:/usr/share/php/ZendFramework-1.10.5/library”
...

Apache を再起動させる。

参考:【Zend Framework】CentOSにインストールしてみた。


Filed under: PHP,インストールメモ

Trackback Uri






2010年 6月 16

utterramblings レポジトリを使い apache を2.2.15 へ yum でアップデートする。
phpも5.2.13 へアップデートされる。
remiレポジトリでもいいけど PHPが5.3になってしまうので。 .. continue reading ..


Filed under: Apache,CentOS4.x,PHP,インストールメモ

Trackback Uri






2010年 6月 9

クラスタリングツール bayon で必要になるので、 googletest (現時点では 1.5.0 が最新バージョン) をインストールする。

wget http://googletest.googlecode.com/files/gtest-1.5.0.tar.gz
tar xzf gtest-1.5.0.tar.gz
cd gtest-1.5.0
./configure --prefix=/usr/local
make
sudo make install

/usr/local/include/gtest 以下にインストールされる


Filed under: インストールメモ

Trackback Uri