SNSインストール続き#3
PHPを最新にする
YaSTでアップデート。下記を追加。
# vi /etc/apache2/httpd.conf
AddType application/x-httpd-php .php .phtml
# apache2ctl restart
libphp5.soを作る
私の環境では、libphp5.soがないので、自分で作る。
昨日の日記にも残したが、参考はテクニカルイルカルテさんのページ。
および、PHPのソースコードからのインストールは@ITの記事も役立った。
PHPのソースをここからゲット http://www.php.net/downloads.php
# ./configure \ --prefix=/usr/local/bin \ --with-apxs2=/usr/sbin/apxs2 \ --without-sqlite \ --enable-mbstring \ --enable-zend-multibyte \ --enable-ftp \ --enable-sockets \ --with-mysql=/usr/bin/ \ --with-gd \ --with-jpeg-dir=/usr/lib64/ \ --with-png-dir=/usr/lib64/ \ --with-freetype-dir=/usr/lib64/ \ --with-zlib \ --with-openssl
<これらオプションの説明>
インストール先
apxs2の場所を指定(SuSEではここ。)インストール済みのapache2と連動させる。apache2なのでapxsでなくapxs2を使う。
SQLiteを使わない
マルチバイト関数をインストール
Zendのマルチバイトエンジンを有効
FTPプロトコルをサポート
socket(HTTPとか)をサポート
MySQLをサポート(私の環境はmysql5です。パス指定しない場合は、--without-mysqlで4.0以下向け標準APIを切り、--with-mysqliで4.1以上APIに対応させること)
DBエンジンをサポート
jpeg,png,その他をサポート
zLibをサポート
SSL(HTTPSとか)をサポート
configureエラーで、xml2-configがないとな。Yastで、libxml2をアップグレード、libxml2-develを入れる。
同じく続くエラーをつぶすべく、libpng, freetypeおよびそれらのdevelをアップデートする。
だが、これらをやっても、以下のエラーで止まる。
configure: error: libjpeg.(a|so) not found.
パスの扱いがおかしいらしい。解決法は、シンボリックリンクを張り、configureのオプションを以下に変える対応。参考にしたのは、
PHPに関するこちらの書き込み。
# ln -s /usr/include /opt/include
# ln -s /usr/lib64 /opt/lib
そして、オプションを以下に変更
--with-jpeg-dir=/opt --with-png-dir=/optin
次は別のエラーが。
configure: error: Cannot find libmysqlclient under /usr.
Note that the MySQL client library is not bundled anymore!
libmysqlclient.soは、/usr/lib64にある。再度ぐぐって、LinuxQuestions.orgの書き込で解決案を見つけた。with-mysqlのパス指定の直後に
--with-libdir=lib64
を追加すると、ちゃんと通りました。
# make
# make test
# make install
実はtestでは、failedが44個でましたが、もういいや、って感じでインストール。/usr/local/binに実行形式が作られ、/usr/lib64/apache2/libphp5.soが出来ました!!
一応、installの履歴を残しておきます。
Installing PHP SAPI module: apache2handler
/usr/share/apache2/build/instdso.sh SH_LIBTOOL='/usr/lib64/apr-1/build/libtool' libphp5.la /usr/lib64/apache2
/usr/lib64/apr-1/build/libtool --mode=install cp libphp5.la /usr/lib64/apache2/
cp .libs/libphp5.so /usr/lib64/apache2/libphp5.so
cp .libs/libphp5.lai /usr/lib64/apache2/libphp5.la
libtool: install: warning: remember to run `libtool --finish /usr/local/src/php5-5.2.11-0.1.1/php-5.2.11/libs'
chmod 755 /usr/lib64/apache2/libphp5.so
activating php5
Installing PHP CLI binary: /usr/local/bin//bin/
Installing PHP CLI man page: /usr/local/bin//man/man1/
Installing build environment: /usr/local/bin//lib/php/build/
Installing header files: /usr/local/bin//include/php/
Installing helper programs: /usr/local/bin//bin/
program: phpize
program: php-config
Installing man pages: /usr/local/bin//man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/bin//lib/php/Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
[PEAR] Archive_Tar - installed: 1.3.3
[PEAR] Console_Getopt - installed: 1.2.3
[PEAR] Structures_Graph- installed: 1.0.2
[PEAR] XML_Util - installed: 1.2.1
[PEAR] PEAR - installed: 1.8.0
Wrote PEAR system config file at: /usr/local/bin//etc/pear.conf
You may want to add: /usr/local/bin//lib/php to your php.ini include_path
Installing PDO headers: /usr/local/bin//include/php/ext/pdo/
httpd.conf書き換え
二行を追加します。
# vi /etc/apache2/httpd.conf
LoadModule php5_module /usr/lib64/apache2/libphp5.so
AddType application/x-httpd-php .php .phtml
# service apache2 restart
(省略)
Starting httpd2 (prefork) [Thu Feb 25 17:20:49 2010] [warn] module php5_module is already loaded, skipping
SELinuxに引っ掛かることなく、doneになる。上記のwarnはなんで?
localhost/~(以前から静的HPとして使っているアカウント)/test.php ←phpinfo()記載
をブラウザで見ると、やった!PHPのページが見れました。ここまで長かった。