「PHP関係」(2013/01/22 (火) 07:48:43) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
**Ver5.2.10での不思議
今まで5.1系を使っていたのですが、本番環境をやり直すときによせばいいけどバージョンアップ。
そうすると不思議なことに今まで動いていたところがうまくいかない。
define('MY_PHPLM_DIR',$d_root2 . '/phplayersmenu');
require_once MY_PHPLM_DIR.'/lib/PHPLIB.php';
エラー内容は、PHPLIB.phpが見つからないんだって??~
そんなはずないよね。いままで5.1系では動いていたんだから...~
define('MY_PHPLM_DIR',$d_root2 . '/phplayersmenu');
require_once '/' . MY_PHPLM_DIR.'/lib/PHPLIB.php';
仕方ないので、こうやったら動きました。
何で、ルートをわざわざ改めて指定してあげるのかな?不思議。
** LinuxサーバーからAIXのDB2へ接続する
今回はLinuxサーバーのPHPからAIX上にあるDB2への接続にチャレンジします。
-Turbolinux Server 11 (Musasabi)1回目 ダメでした
Kernel Level: 2.6.23-2
Kernel Build Date: #1 SMP Sun Oct 28 14:52:33 JST 2007
Machine Type: i686
GLIBC version: 2.6.1
DB2 v8.x (x86 for 2.6 kernels): libstdc++-.so.5 does not exist on this system.
-[[CentOS release 4.8 (Final)]]
Kernel Level: 2.6.9-89.EL
Kernel Build Date: #1 Mon Jun 22 12:19:40 EDT 2009
Machine Type: i686
GLIBC version: 2.3.4
DB2 v8.x (x86 for 2.6 kernels): libstdc++.so.5 exists and is a link to libstdc++.so.5.0.7
残念ながらCentOSでは自分でコンパイルしたApacheへセキュリティーの設定でうまくいかなかったために今後の使用をあきらめました。たぶん2度と使うことはない。丸3日嵌ってしまいました。
--プロセスの SELinux セキュリティコンテキスト を見る
パッケージの分
$ ps auxZ | grep httpd
root:system_r:httpd_t root 23929 0.0 2.3 20776 8900 ? Ss 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23930 0.0 1.2 20776 4848 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23931 0.0 1.1 20776 4348 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23932 0.0 1.2 20776 4848 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23933 0.0 1.2 20776 4812 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23934 0.0 1.4 20776 5668 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23935 0.0 1.3 20776 5128 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23936 0.0 1.1 20776 4252 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23937 0.0 1.1 20776 4244 ? S 17:55 0:00 /usr/sbin/httpd -k start
自分でコンパイルした分
user_u:system_r:unconfined_t admin 24055 0.0 0.1 6116 748 pts/1 S+ 20:32 0:00 grep httpd
$ ps auxZ | grep httpd
root:system_r:unconfined_t root 24096 0.9 3.0 34652 11768 ? Ss 20:36 0:00 /www/bin/httpd
root:system_r:unconfined_t nobody 24097 0.0 2.2 34628 8752 ? S 20:36 0:00 /www/bin/httpd
root:system_r:unconfined_t nobody 24098 0.0 2.2 34628 8752 ? S 20:36 0:00 /www/bin/httpd
root:system_r:unconfined_t nobody 24099 0.0 2.2 34628 8752 ? S 20:36 0:00 /www/bin/httpd
root:system_r:unconfined_t nobody 24100 0.0 2.2 34628 8752 ? S 20:36 0:00 /www/bin/httpd
root:system_r:unconfined_t nobody 24101 0.0 2.2 34628 8752 ? S 20:36 0:00 /www/bin/httpd
root:system_r:unconfined_t root 24103 0.0 0.1 4816 748 pts/1 S+ 20:36 0:00 grep httpd
apacheのユーザにしたとき
$ ps auxZ | grep httpd
root:system_r:unconfined_t root 24111 2.2 3.0 34540 11764 ? Ss 20:38 0:00 /www/bin/httpd
root:system_r:unconfined_t apache 24112 0.0 2.2 34516 8748 ? S 20:38 0:00 /www/bin/httpd
root:system_r:unconfined_t apache 24113 0.0 2.2 34516 8748 ? S 20:38 0:00 /www/bin/httpd
root:system_r:unconfined_t apache 24114 0.0 2.2 34516 8748 ? S 20:38 0:00 /www/bin/httpd
root:system_r:unconfined_t apache 24115 0.0 2.2 34516 8748 ? S 20:38 0:00 /www/bin/httpd
root:system_r:unconfined_t apache 24116 0.0 2.2 34516 8748 ? S 20:38 0:00 /www/bin/httpd
root:system_r:unconfined_t root 24118 0.0 0.1 5624 748 pts/1 S+ 20:38 0:00 grep httpd
unconfined_tになっているのが問題であることは推測できたけど、どこで設定するのやら... 80ポートを空けたりと色々大変でした。結局SELinuxは大嫌いになりました。分かり難い。だからセキュリティーなんだろうけど...普通の人には使わせないというポリシーだろう。
-[[Vien Linux 4.2]]
db2のセットアップ時に文字化け発生。そういえば前回失敗したCent OSはUTF-8だったよな。
# LANG=ja_JP.eucJP ./db2setup
このOS幸先悪い。このコマンドでも文字化け。仕方ない英語モードで実施しよう。マニュアルも当てにならない。先が思いやられます。
Kernel Level: 2.6.16-0vl76.27
Kernel Build Date: #1 SMP Tue Dec 18 23:38:48 JST 2007
Machine Type: i686
GLIBC version: 2.3.4
DB2 v8.x (x86 for 2.6 kernels): libstdc++.so.5 exists and is a link to libstdc++.so.5.0.7
どうもこのOSもCent OSと同じで腐れているな。ファイアウォールなしでインストールしたのに、Apacheにアクセスできない。アクセスログをみても0バイト。完全にCentOSのときと同じ症状。ためしにiptablesを見ようとおもったが、無い。そうだろう何せファイアウォールなしでインストールしたんだから。何でだろうね。psコマンドで見てもちゃんとhttpdはある。しかしvnc使っての作業だったけど、何度も落ちる。こんなのはCentOSでも無かったな。やはりこのOSも使う気しなくなってきた。3連続はずれだ。時間の無駄だ。そのそもDB2がきちんとGLIBC2.6で動けば、こんな腐ったosと遊ばなくてすんだのに。さて次は何にすべきか... カーネル2.4版にしようか。これもSELinuxの亡霊か
-[[Turbolinux Server 11 (Musasabi)2回目 ]]
やっとAIX上のDB2へ接続できました。感激です。
-まとめ
+GUI環境で行った方が楽です。
+どうしてもCUIが好きな場合(私みたいに)は応答ファイルを利用してインストール
+文字コード関係でエラーになったら、$LANG設定を確認します。
-phpの再コンパイル
コンパイルオプションに以下をプラスして実行します。あとは通常の手順です。
--with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/ --with-unixODBC
-apachectlに以下を追加
#DB2
. /home/db2inst1/sqllib/db2profile
LANG=ja_JP.eucJP
export LANG
-おまけ①
私の環境ではAIXのDB2(SJISで格納)⇒PHP(SJISで表示)のために、上記部分に
db2set DB2CODEPAGE="943"
を追加して、PHP側で文字コードの変換をしなくてもいいようにしています。
-おまけ②
php.iniに
[pdo]
pdo_odbc.db2_instance_name ="/home/db2inst1/"
を記入するとエラーになります。Ver5.2.10~
そういえば、Vien Linux 4.2ではphp.iniが無いのにちゃんと機能しています。この設定はしないほうがいいような気がします。
-[[DB2+PHPのメモ]]
-[[Flex3+PHPのメモ]]
-[[jQuery+PHPのメモ]]
**Ver5.2.10での不思議
今まで5.1系を使っていたのですが、本番環境をやり直すときによせばいいけどバージョンアップ。
そうすると不思議なことに今まで動いていたところがうまくいかない。
define('MY_PHPLM_DIR',$d_root2 . '/phplayersmenu');
require_once MY_PHPLM_DIR.'/lib/PHPLIB.php';
エラー内容は、PHPLIB.phpが見つからないんだって??~
そんなはずないよね。いままで5.1系では動いていたんだから...~
define('MY_PHPLM_DIR',$d_root2 . '/phplayersmenu');
require_once '/' . MY_PHPLM_DIR.'/lib/PHPLIB.php';
仕方ないので、こうやったら動きました。
何で、ルートをわざわざ改めて指定してあげるのかな?不思議。
** LinuxサーバーからAIXのDB2へ接続する
今回はLinuxサーバーのPHPからAIX上にあるDB2への接続にチャレンジします。
-Turbolinux Server 11 (Musasabi)1回目 ダメでした
Kernel Level: 2.6.23-2
Kernel Build Date: #1 SMP Sun Oct 28 14:52:33 JST 2007
Machine Type: i686
GLIBC version: 2.6.1
DB2 v8.x (x86 for 2.6 kernels): libstdc++-.so.5 does not exist on this system.
-[[CentOS release 4.8 (Final)]]
Kernel Level: 2.6.9-89.EL
Kernel Build Date: #1 Mon Jun 22 12:19:40 EDT 2009
Machine Type: i686
GLIBC version: 2.3.4
DB2 v8.x (x86 for 2.6 kernels): libstdc++.so.5 exists and is a link to libstdc++.so.5.0.7
残念ながらCentOSでは自分でコンパイルしたApacheへセキュリティーの設定でうまくいかなかったために今後の使用をあきらめました。たぶん2度と使うことはない。丸3日嵌ってしまいました。
--プロセスの SELinux セキュリティコンテキスト を見る
パッケージの分
$ ps auxZ | grep httpd
root:system_r:httpd_t root 23929 0.0 2.3 20776 8900 ? Ss 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23930 0.0 1.2 20776 4848 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23931 0.0 1.1 20776 4348 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23932 0.0 1.2 20776 4848 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23933 0.0 1.2 20776 4812 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23934 0.0 1.4 20776 5668 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23935 0.0 1.3 20776 5128 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23936 0.0 1.1 20776 4252 ? S 17:55 0:00 /usr/sbin/httpd -k start
root:system_r:httpd_t apache 23937 0.0 1.1 20776 4244 ? S 17:55 0:00 /usr/sbin/httpd -k start
自分でコンパイルした分
user_u:system_r:unconfined_t admin 24055 0.0 0.1 6116 748 pts/1 S+ 20:32 0:00 grep httpd
$ ps auxZ | grep httpd
root:system_r:unconfined_t root 24096 0.9 3.0 34652 11768 ? Ss 20:36 0:00 /www/bin/httpd
root:system_r:unconfined_t nobody 24097 0.0 2.2 34628 8752 ? S 20:36 0:00 /www/bin/httpd
root:system_r:unconfined_t nobody 24098 0.0 2.2 34628 8752 ? S 20:36 0:00 /www/bin/httpd
root:system_r:unconfined_t nobody 24099 0.0 2.2 34628 8752 ? S 20:36 0:00 /www/bin/httpd
root:system_r:unconfined_t nobody 24100 0.0 2.2 34628 8752 ? S 20:36 0:00 /www/bin/httpd
root:system_r:unconfined_t nobody 24101 0.0 2.2 34628 8752 ? S 20:36 0:00 /www/bin/httpd
root:system_r:unconfined_t root 24103 0.0 0.1 4816 748 pts/1 S+ 20:36 0:00 grep httpd
apacheのユーザにしたとき
$ ps auxZ | grep httpd
root:system_r:unconfined_t root 24111 2.2 3.0 34540 11764 ? Ss 20:38 0:00 /www/bin/httpd
root:system_r:unconfined_t apache 24112 0.0 2.2 34516 8748 ? S 20:38 0:00 /www/bin/httpd
root:system_r:unconfined_t apache 24113 0.0 2.2 34516 8748 ? S 20:38 0:00 /www/bin/httpd
root:system_r:unconfined_t apache 24114 0.0 2.2 34516 8748 ? S 20:38 0:00 /www/bin/httpd
root:system_r:unconfined_t apache 24115 0.0 2.2 34516 8748 ? S 20:38 0:00 /www/bin/httpd
root:system_r:unconfined_t apache 24116 0.0 2.2 34516 8748 ? S 20:38 0:00 /www/bin/httpd
root:system_r:unconfined_t root 24118 0.0 0.1 5624 748 pts/1 S+ 20:38 0:00 grep httpd
unconfined_tになっているのが問題であることは推測できたけど、どこで設定するのやら... 80ポートを空けたりと色々大変でした。結局SELinuxは大嫌いになりました。分かり難い。だからセキュリティーなんだろうけど...普通の人には使わせないというポリシーだろう。
-[[Vien Linux 4.2]]
db2のセットアップ時に文字化け発生。そういえば前回失敗したCent OSはUTF-8だったよな。
# LANG=ja_JP.eucJP ./db2setup
このOS幸先悪い。このコマンドでも文字化け。仕方ない英語モードで実施しよう。マニュアルも当てにならない。先が思いやられます。
Kernel Level: 2.6.16-0vl76.27
Kernel Build Date: #1 SMP Tue Dec 18 23:38:48 JST 2007
Machine Type: i686
GLIBC version: 2.3.4
DB2 v8.x (x86 for 2.6 kernels): libstdc++.so.5 exists and is a link to libstdc++.so.5.0.7
どうもこのOSもCent OSと同じで腐れているな。ファイアウォールなしでインストールしたのに、Apacheにアクセスできない。アクセスログをみても0バイト。完全にCentOSのときと同じ症状。ためしにiptablesを見ようとおもったが、無い。そうだろう何せファイアウォールなしでインストールしたんだから。何でだろうね。psコマンドで見てもちゃんとhttpdはある。しかしvnc使っての作業だったけど、何度も落ちる。こんなのはCentOSでも無かったな。やはりこのOSも使う気しなくなってきた。3連続はずれだ。時間の無駄だ。そのそもDB2がきちんとGLIBC2.6で動けば、こんな腐ったosと遊ばなくてすんだのに。さて次は何にすべきか... カーネル2.4版にしようか。これもSELinuxの亡霊か
-[[Turbolinux Server 11 (Musasabi)2回目 ]]
やっとAIX上のDB2へ接続できました。感激です。
-まとめ
+GUI環境で行った方が楽です。
+どうしてもCUIが好きな場合(私みたいに)は応答ファイルを利用してインストール
+文字コード関係でエラーになったら、$LANG設定を確認します。
-phpの再コンパイル
コンパイルオプションに以下をプラスして実行します。あとは通常の手順です。
--with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/ --with-unixODBC
-apachectlに以下を追加
#DB2
. /home/db2inst1/sqllib/db2profile
LANG=ja_JP.eucJP
export LANG
-おまけ①
私の環境ではAIXのDB2(SJISで格納)⇒PHP(SJISで表示)のために、上記部分に
db2set DB2CODEPAGE="943"
を追加して、PHP側で文字コードの変換をしなくてもいいようにしています。
-おまけ②
php.iniに
[pdo]
pdo_odbc.db2_instance_name ="/home/db2inst1/"
を記入するとエラーになります。Ver5.2.10~
そういえば、Vien Linux 4.2ではphp.iniが無いのにちゃんと機能しています。この設定はしないほうがいいような気がします。
-[[Rad Hat Linux release 2.6.18-194.el5]]
-[[DB2+PHPのメモ]]
-[[Flex3+PHPのメモ]]
-[[jQuery+PHPのメモ]]
表示オプション
横に並べて表示:
変化行の前後のみ表示: