KnowledgeTreeのPHPでPEARやPECLを使う
引き続きKnowledgeTreeのプラグインを作ってる。
PHPでプログラミングをしてると、PEARやPECLのライブラリを使いたくなる事があるけど、ちょっとだけファイルの修正が必要だった。
KnowledgeTreeはPHPやMySQLなど、必要なのは全てパッケージに含まれていて、PHPはデフォルトだと/opt/ktdms/php以下にインストールされる。で、試しにPECLを実行してみると以下のようなエラーが出る。PEARも同様。
# /opt/ktdms/php/bin/pecl
/opt/ktdms/php/bin/pecl: line 28: /bitrock/knowledgetree/linux/build/output/php/bin/php: No such file or directory
/opt/ktdms/php/bin/pecl: line 28: exec: /bitrock/knowledgetree/linux/build/output/php/bin/php: cannot execute: No such file or directory
どうやらPHPをビルドした環境のパスが使われているらしい。
修正すべきファイルは以下の3つ
- /opt/ktdms/php/bin/pecl
- /opt/ktdms/php/lib/php/pearcmd.php
- /opt/ktdms/php/lib/php/peclcmd.php
--- pecl.org 2008-12-28 21:01:30.000000000 +0900
+++ pecl 2008-12-28 22:36:37.000000000 +0900
@@ -4,10 +4,10 @@
if test "x$PHP_PEAR_PHP_BIN" != "x"; then
PHP="$PHP_PEAR_PHP_BIN"
else
- if test "/bitrock/knowledgetree/linux/build/output/php/bin/php" = '@'php_bin'@'; then
+ if test "/opt/ktdms/php/bin/php" = '@'php_bin'@'; then
PHP=php
else
- PHP="/bitrock/knowledgetree/linux/build/output/php/bin/php"
+ PHP="/opt/ktdms/php/bin/php"
fi
fi
@@ -16,12 +16,12 @@
INCDIR=$PHP_PEAR_INSTALL_DIR
INCARG="-d include_path=$PHP_PEAR_INSTALL_DIR"
else
- if test "/bitrock/knowledgetree/linux/build/output/php/lib/php" = '@'php_dir'@'; then
+ if test "/opt/ktdms/php/lib/php" = '@'php_dir'@'; then
INCDIR=`dirname $0`
INCARG=""
else
- INCDIR="/bitrock/knowledgetree/linux/build/output/php/lib/php"
- INCARG="-d include_path=/bitrock/knowledgetree/linux/build/output/php/lib/php"
+ INCDIR="/opt/ktdms/php/lib/php"
+ INCARG="-d include_path=/opt/ktdms/php/lib/php"
fi
fi
pearcmd.php
--- pearcmd.php.org 2008-12-28 21:09:59.000000000 +0900
+++ pearcmd.php 2008-12-28 21:10:44.000000000 +0900
@@ -29,8 +29,8 @@
/**
* @nodep Gtk
*/
-if ('/bitrock/knowledgetree/linux/build/output/php/lib/php' != '@'.'include_path'.'@') {
- ini_set('include_path', '/bitrock/knowledgetree/linux/build/output/php/lib/php');
+if ('/opt/ktdms/php/lib/php' != '@'.'include_path'.'@') {
+ ini_set('include_path', '/opt/ktdms/php/lib/php');
$raw = false;
} else {
// this is a raw, uninstalled pear, either a cvs checkout, or php distro
perlcmd.php
--- peclcmd.php.org 2008-12-28 21:09:00.000000000 +0900
+++ peclcmd.php 2008-12-28 21:09:20.000000000 +0900
@@ -23,8 +23,8 @@
/**
* @nodep Gtk
*/
-if ('/bitrock/knowledgetree/linux/build/output/php/lib/php' != '@'.'include_path'.'@') {
- ini_set('include_path', '/bitrock/knowledgetree/linux/build/output/php/lib/php');
+if ('/opt/ktdms/php/lib/php' != '@'.'include_path'.'@') {
+ ini_set('include_path', '/opt/ktdms/php/lib/php');
$raw = false;
} else {
// this is a raw, uninstalled pear, either a cvs checkout, or php distro