php に ついて 理解しているわけでは 無い 状態 とにかく 始めてみよう と いう段階 です。
php-5.1.2.tar.gz と md5 を ここから 入手 ありがとうございます!
http://www.php.net/downloads.php
http://jp.php.net/get/php-5.1.2.tar.gz/from/a/mirror
PHP 5.1.2 (tar.gz) [7,875Kb] - 12 Jan 2006
md5: b5b6564e8c6a0d5bc1d2b4787480d792
# cd /var/data/mkpackage/ # mkdir php-5-1-2 # cd php-5-1-2/ # cp /home/mm/dwlord/php-5.1.2.tar.gz .
検査
# md5sum php-5.1.2.tar.gz b5b6564e8c6a0d5bc1d2b4787480d792 php-5.1.2.tar.gz =========================== md5: b5b6564e8c6a0d5bc1d2b4787480d792 b5b6564e8c6a0d5bc1d2b4787480d792 ================ 同じであるようだ ~~~~~~~~~~~~~~~~~
なにか いたずら されるかも しれないので (実際は 良くわからない)
# cd /var/data/aaa/apache2/conf/ # cp httpd.conf 0002_httpd.conf_before_php # cd - # pwd /var/data/mkpackage/php-5-1-2
# tar xvzpf php-5.1.2.tar.gz 2>&1 | tee untar_log # cd php-5.1.2/
apxs
********* /var/data/aaa/apache2/bin/apxs *********
の ありか を 確認して すこし 見ておくと 以下の ものから /usr/local に インストール されると仮定しようそうしたら 実行 してみよう
2. Unix/Windows: Where should my php.ini file be located?
**************
By default on Unix it should be in /usr/local/lib which is/lib. Most people will want to change this at compile-time with the --with-config-file-path flag. You would, for example, set it with something like: --with-config-file-path=/etc
************
ほたら
# ./configure --with-apxs2=/var/data/aaa/apache2/bin/apxs \ --with-pgsql=/usr/local/pgsql --enable-mbstring --without-mysql 2>&1 | tee php_config_log ... +--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP. # mv php_config_log ../
そんで もって
# make 2>&1 | tee make_php_log Build complete. (It is safe to ignore warnings about tempnam and tmpnam). # mv make_php_log ../
さて ここから 無謀にも package を 作成してみましょう 習うより 馴れで す。
前段の make install インストールを しましょう
# mkdir -p work/usr/local # touch /tmp/mark ; sleep 1 # make install prefix=`pwd`/work/usr/local 2>&1 | tee make_install_log Installing PHP SAPI module: apache2handler /var/data/aaa/apache2/build/instdso.sh \ SH_LIBTOOL='/var/data/aaa/apache2/build/libtool' libphp5.la /var/data/aaa/apache2/modules /var/data/aaa/apache2/build/libtool --mode=install cp libphp5.la /var/data/aaa/apache2/modules/ cp .libs/libphp5.so /var/data/aaa/apache2/modules/libphp5.so cp .libs/libphp5.lai /var/data/aaa/apache2/modules/libphp5.la libtool: install: warning: remember to run \ `libtool --finish /var/data/mkpackage/php-5-1-2/php-5.1.2/libs' sed: -e expression #1, char 34: Extra characters after command sed: -e expression #1, char 51: Extra characters after command Warning! dlname not found in /var/data/aaa/apache2/modules/libphp5.la. Assuming installing a .so rather than a libtool archive. chmod 755 /var/data/aaa/apache2/modules/libphp5.so [activating module `php5' in /var/data/aaa/apache2/conf/httpd.conf] Installing PHP CLI binary: /var/data/mkpackage/php-5-1-2/php-5.1.2/work/usr/local/bin/ Installing PHP CLI man page: /var/data/mkpackage/php-5-1-2/php-5.1.2/work/usr/local/man/man1/ Installing build environment: /var/data/mkpackage/php-5-1-2/php-5.1.2/work/usr/local/lib/php/build/ Installing header files: /var/data/mkpackage/php-5-1-2/php-5.1.2/work/usr/local/include/php/ Installing helper programs: /var/data/mkpackage/php-5-1-2/php-5.1.2/work/usr/local/bin/ program: phpize program: php-config Installing man pages: /var/data/mkpackage/php-5-1-2/php-5.1.2/work/usr/local/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /var/data/mkpackage/php-5-1-2/php-5.1.2/work/u sr/local/lib/php/ [PEAR] Archive_Tar - installed: 1.3.1 [PEAR] Console_Getopt - installed: 1.2 pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0) [PEAR] PEAR - installed: 1.4.6 Wrote PEAR system config file at: /usr/local/etc/pear.conf You may want to add: /var/data/mkpackage/php-5-1-2/php-5.1.2/work/usr/local/lib/ php to your php.ini include_path Installing PDO headers: /var/data/mkpackage/php-5-1-2/php-5.1.2/work/usr/local/include/php/ext/pdo/
ちょっと 探しものを してみまひょ
# find /etc /sbin /lib /usr /var -cnewer /tmp/mark ! -type d -print >/tmp/files_php # mv /tmp/files_php /home/mm/0001_first-step/ # chown mm.users /home/mm/0001_first-step/*# rm /tmp/mark
そんで もって
$ head files_php /usr/local/etc/pear.conf /var/data/aaa/apache2/modules/libphp5.so /var/data/aaa/apache2/modules/libphp5.la /var/data/aaa/apache2/conf/httpd.conf /var/data/aaa/apache2/conf/httpd.conf.bak /var/data/mkpackage/php-5-1-2/php-5.1.2/work/usr/local/bin/peardev ....
これらから 考えると /var/data/aaa/apache2/ に いろいろ 細工が 施される 様である確認しておこう
# ls -al /usr/local/etc/ | sed -e 1,3d -rw-r--r-- 1 root root 1093 Mar 10 23:18 pear.conf # ls -l /var/data/aaa/apache2/modules/ | sed -e 1d -rw-r--r-- 1 apache apache 8873 Mar 3 20:21 httpd.exp -rw-r--r-- 1 root root 1063 Mar 10 23:18 libphp5.la -rwxr-xr-x 1 root root 17315898 Mar 10 23:18 libphp5.so* # ls -l /var/data/aaa/apache2/conf/ | sed -e 1d -rw-r--r-- 1 apache apache 13645 Mar 3 20:28 0001_httpd.conf_org -rw-r--r-- 1 root root 13678 Mar 10 10:29 0002_httpd.conf_before_php drwxr-xr-x 2 apache apache 4096 Mar 3 20:28 extra/ -rw-r--r-- 1 apache apache 13727 Mar 10 23:18 httpd.conf -rw-r--r-- 1 root root 13678 Mar 10 23:18 httpd.conf.bak -rw-r--r-- 1 apache apache 12958 Mar 3 20:28 magic -rw-r--r-- 1 apache apache 15020 Mar 3 20:28 mime.types
これらから 考えるに インストール した段階で
/usr/local/etc/ に pear.conf が 追加されて
/var/data/aaa/apache2/modules/ に libphp5.la と libphp5.so* が 追加されて
/var/data/aaa/apache2/conf/ に httpd.conf httpd.conf.bak に なる
パッケージ作成後 pkgtool で インストール する場合は
どうなるであろうか いちおう 待避 して 試みる、以下は 仮に インストール
したものの ファイルの場所には ”mkpackage”の 文字列が 含まれて入ルであ
ろう と 仮定して それ以外の ファイルは なんかいの ということで -v オプショ
ン にて 抽出 してみた物です、完全か どうかは 不明であるが?
$ cat files_php | grep -v mkpackage /usr/local/etc/pear.conf /var/data/aaa/apache2/modules/libphp5.so /var/data/aaa/apache2/modules/libphp5.la /var/data/aaa/apache2/conf/httpd.conf /var/data/aaa/apache2/conf/httpd.conf.bak
これら から 考えるに この 5個を 待避 しておけば 良いであろう
にゃんたろう 拝!
2006年 3月16日 (木) 23:08:44 JST 作成