それっぽい技術メモ

UNIXからpythonまで、技術系メモ。知識は人類の共有財産です。

php + apache でパスが通らなかった件。 とりあえずputenvで暫定対応。

php + apacheで作っているシステムをAWSにリフトアップしてるんですけど、oracleにconnectするところでORA-01804。
挫折しながら対応中なので、こちらの記事は別機会に。

Linux環境変数食わすためには通常、.bash_profileに書いたりしますが、apacheユーザはnobody。
ということで、/etc/sysconfig/httpd に書いてみたりするのが普通ですが、今回はなぜか反映されない。
phpinfo()で見てみても、environment にない。
ORACLE_HOME」も「LD_LIBRARY_PATH」も「NLS_LANG」もない。

ということでとりあえず暫定対応として、phpにハードコーディング!

sample.php

<?
    putenv("ORACLE_HOME=/opt/app/oracle/〇〇〇">;
    putenv("LD_LIBRARY_PATH=/opt/app/oracle/〇〇〇/lib">;
    putenv("NLS_LANG=Japanese_Japan.UTF8">;

    phpinfo();
?>

根本解決になってないけど、とりあえずパス通ったから、OK。