ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Apache+PHPで環境変数を追加したい

Apache+PHPで環境変数を追加したい。

OS RHEL4
PHP 5.2.3
Apache 2.0.52



Oracleを使うために
 ORACLE_HOME
 LD_LIBRARY_PATH
 NLS_LANG
を設定したい。

Apacheの実行ユーザはnobodyで、Oracleに必要な環境変数がない。
追加する方法として思いついたのは以下。

 1. httpd.conf に SetEnv を書く
SetEnv ORACLE_HOME /oracle/home/

 2. PHPコード内に putenv を書く
putenv('ORACLE_HOME=/oracle/home/');

 3. /etc/sysconfig/httpd に export を書く
export ORACLE_HOME=/oracle/home/


1. は Apache Environment セクション($_SERVERのほう)に追加された。
そもそも environment セクション($_ENVのほう)に追加しないとダメなのでNG!

2. はなんか嫌。なるべくコード内で環境情報を変えたくない。


ということで調べてみると、Redhat系では3. が作法らしい。

/etc/sysconfig/httpd に追記してApacheを再起動すると
environmentのセクションにちゃんと追加されてた。
env01.png


赤で囲んだのが追加した部分。
これでOracleを使うための環境変数は準備おっけー!
スポンサーサイト
  1. 2008/01/21(月) 16:15:43|
  2. PHP
  3. | トラックバック:0
  4. | コメント:1

Smartyがうごかない

PHPのSmartyがうごきません。

Smarty-2.6.16/libsを全部/usr/local/lib/Smartyに移動して、
include_pathも通ってる。はずなのに。

<?php
 require_once("DB.php"); ///usr/share/pearは通ってる
 require_once("Smarty.class.php");
?>

↓↓↓↓↓↓↓↓↓↓

Warning: require_once(Smarty.class.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/html/test.php on line 3

Fatal error: require_once() [function.require]: Failed opening required 'Smarty.class.php' (include_path='.:/usr/local/lib/Smarty:/usr/share/pear') in /var/www/html/test.php on line 3

パスが通ってるのにファイルがありませんって言われる。


# ll /usr/local/lib/Smarty/Smarty.class.php
-rw-r--r-- 1 root root 63248 12月 2 00:23 /usr/local/lib/Smarty/Smarty.class.php

あるじゃん(ーー;)

# ll /usr/share/pear/DB.php
-rw-r--r-- 1 root root 42791 2月 5 17:16 /usr/share/pear/DB.php

こっちと何が違うんじゃ。


一応フルパスでも書いてみたら

<?php
 require_once("DB.php"); ///usr/share/pearは通ってる
 require_once("/usr/local/lib/Smarty/Smarty.class.php");
?>

↓↓↓↓↓↓↓↓↓↓

Warning: require_once(/usr/local/lib/Smarty/Smarty.class.php) [function.require-once]: failed to open stream: Permission denied in /var/www/html/test.php on line 3

Fatal error: require_once() [function.require]: Failed opening required '/usr/local/lib/Smarty/Smarty.class.php' (include_path='.:/usr/local/lib/Smarty:/usr/share/pear') in /var/www/html/test.php on line 3


権限がありません。なんでー・・?

[Smartyがうごかない]の続きを読む
  1. 2007/02/27(火) 18:45:53|
  2. PHP
  3. | トラックバック:1
  4. | コメント:1
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。