がらくたネット

アフィリエイト広告を利用しています


PHP関連

PHP関連

Configure Option

PEAR

PHP Extension and Application Repositoryの略

PEARのアップデート
# pear upgrade PEAR
パッケージのインストール
# pear install <パッケージ名>
パッケージのインストール(依存関係全てインストール)
# pear install --alldeps <パッケージ名>
パッケージのインストール(必須依存関係のみインストール)
# pear install --onlyreqdeps <パッケージ名>
パッケージの削除
# pear uninstall <パッケージ名>

手動インストール

コマンドラインからやってみる

# wget http://pear.php.net/go-pear
# php go-pear
Welcome to go-pear!

Go-pear will install the 'pear' command and all the files needed by
it.  This command is your tool for PEAR installation and maintenance.

Go-pear also lets you download and install the following optional PEAR
packages: PEAR_Frontend_Web-beta, PEAR_Frontend_Gtk2, MDB2.


If you wish to abort, press Control-C now, or press Enter to continue: ←Enter

HTTP proxy (http://user:password@proxy.myhost.com:port), or Enter for none:: ←Enter

Below is a suggested file layout for your new PEAR installation.  To
change individual locations, type the number in front of the
directory.  Type 'all' to change all of them or simply press Enter to
accept these locations.

 1. Installation prefix ($prefix) : /usr/local/src/php52
 2. Temporary files directory     : $prefix/temp
 3. Binaries directory            : $prefix/bin
 4. PHP code directory ($php_dir) : $prefix/PEAR
 5. Documentation base directory  : $php_dir/docs
 6. Data base directory           : $php_dir/data
 7. Tests base directory          : $php_dir/tests

1-7, 'all' or Enter to continue:

RPMパッケージに合わせて変更する
 1. Installation prefix ($prefix) : /usr
 2. Temporary files directory     : /var/cache/php-pear
 3. Binaries directory            : /usr/bin
 4. PHP code directory ($php_dir) : /usr/share/pear
 5. Documentation base directory  : /usr/share/pear/doc
 6. Data base directory           : /usr/share/pear/data
 7. Tests base directory          : /usr/share/pear/test

1-7, 'all' or Enter to continue: ←Enter

The following PEAR packages are bundled with PHP: PEAR_Frontend_Web-beta,
PEAR_Frontend_Gtk2, MDB2.
Would you like to install these as well? [Y/n] : ← Y


Loading zlib: ok

Bootstrapping Installer...................
Bootstrapping PEAR.php............(remote) ok
Bootstrapping Archive/Tar.php............(remote) ok
Bootstrapping Console/Getopt.php............(remote) ok

Extracting installer..................
Downloading package: PEAR.............ok
Downloading package: Structures_Graph....ok

Preparing installer..................
Updating channel "doc.php.net"
Update of Channel "doc.php.net" succeeded
Updating channel "pear.php.net"
Update of Channel "pear.php.net" succeeded
Updating channel "pecl.php.net"
Update of Channel "pecl.php.net" succeeded

Installing selected packages..................
Downloading and installing package: PEAR.............warning: pear/PEAR requires package "pear/Archive_Tar" (recommended version 1.3.3)
warning: pear/PEAR requires package "pear/Console_Getopt" (recommended version 1.2.3)
downloading PEAR-1.8.1.tgz ...
Starting to download PEAR-1.8.1.tgz (290,382 bytes)
............................................................done: 290,382 bytes
install ok: channel://pear.php.net/PEAR-1.8.1
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
PEAR: To install optional features use "pear install pear/PEAR#featurename"
Package: Structures_Graph-stable.................. already installed ... ok
Downloading and installing package: Archive_Tar-stable.......downloading Archive_Tar-1.3.3.tgz ...
Starting to download Archive_Tar-1.3.3.tgz (18,119 bytes)
...done: 18,119 bytes
install ok: channel://pear.php.net/Archive_Tar-1.3.3
Downloading and installing package: Console_Getopt-stable.......downloading Console_Getopt-1.2.3.tgz ...
Starting to download Console_Getopt-1.2.3.tgz (4,011 bytes)
...done: 4,011 bytes
install ok: channel://pear.php.net/Console_Getopt-1.2.3
Downloading and installing package: PEAR_Frontend_Web-beta.......downloading PEAR_Frontend_Web-0.7.4.tgz ...
Starting to download PEAR_Frontend_Web-0.7.4.tgz (53,321 bytes)
...done: 53,321 bytes
downloading HTML_Template_IT-1.2.1.tgz ...
Starting to download HTML_Template_IT-1.2.1.tgz (21,565 bytes)
...done: 21,565 bytes
install ok: channel://pear.php.net/HTML_Template_IT-1.2.1
install ok: channel://pear.php.net/PEAR_Frontend_Web-0.7.4
Downloading and installing package: PEAR_Frontend_Gtk2.......Did not download optional dependencies: pear/XML_Parser, use --alldeps to download automatically
Did not download optional dependencies: pear/System_Command, use --alldeps to download automatically
pear/PEAR_Frontend_Gtk2 requires PHP extension "php-gtk" (version >= 2.0.0dev)
pear/Config can optionally use package "pear/XML_Parser"
pear/Gtk2_EntryDialog requires PHP extension "php-gtk" (version >= 2.0.0dev)
pear/Gtk2_FileDrop requires PHP extension "php-gtk" (version >= 2.0.0dev)
pear/MIME_Type can optionally use package "pear/System_Command"
downloading Config-1.10.11.tgz ...
Starting to download Config-1.10.11.tgz (27,939 bytes)
...done: 27,939 bytes
downloading MIME_Type-1.2.0.tgz ...
Starting to download MIME_Type-1.2.0.tgz (11,581 bytes)
...done: 11,581 bytes
install ok: channel://pear.php.net/Config-1.10.11
install ok: channel://pear.php.net/MIME_Type-1.2.0
Downloading and installing package: MDB2.............downloading MDB2-2.4.1.tgz ...
Starting to download MDB2-2.4.1.tgz (119,790 bytes)
...done: 119,790 bytes
install ok: channel://pear.php.net/MDB2-2.4.1
MDB2: Optional feature fbsql available (Frontbase SQL driver for MDB2)
MDB2: Optional feature ibase available (Interbase/Firebird driver for MDB2)
MDB2: Optional feature mysql available (MySQL driver for MDB2)
MDB2: Optional feature mysqli available (MySQLi driver for MDB2)
MDB2: Optional feature mssql available (MS SQL Server driver for MDB2)
MDB2: Optional feature oci8 available (Oracle driver for MDB2)
MDB2: Optional feature pgsql available (PostgreSQL driver for MDB2)
MDB2: Optional feature querysim available (Querysim driver for MDB2)
MDB2: Optional feature sqlite available (SQLite2 driver for MDB2)
MDB2: To install optional features use "pear install pear/MDB2#featurename"

The 'pear' command is now at your service at /usr/bin/pear

PEARの動作確認

# pear
Commands:
build                    Build an Extension From C Source
bundle                   Unpacks a Pecl Package
....

# pear version
PEAR Version: 1.8.1
PHP Version: 5.2.10
Zend Engine Version: 2.2.0
Running on: Linux test-sv01.renbird.local 2.6.18-128.2.1.el5 #1 SMP Tue Jul 14 06:39:56 EDT 2009 i686

# pear config-get php_dir
/usr/share/pear

# php -c /path/to/php.ini -r 'echo get_include_path()."\n";'
.:/usr/share/pear

php.iniのinclude_pathに追加しておく

RPM

phpのRPMをインストールするとphpバイナリができるが…

php-cliに含まれているのは

/usr/bin/phpphp実行バイナリ
/usr/bin/php-cgiphp実行バイナリのfastcgi版

phpに含まれているのは

/etc/httpd/conf.d/php.confapache用
/usr/lib/httpd/modules/libphp5.soapache用モジュール

php4とphp5の混在

ソースインストールでは混在可能

RPMでの混在は無理!

CentOS5ではPHP5をyum(RPM)でインストール管理し、php4をソースでインストールすることで混在可能

apacheから両方のphpを稼働させるのに、suPHPを利用する方法もある

php4のソースインストールに呪文を唱えると両方動かす環境が構築できる

各種モジュールのdevelパッケージを事前にインストールしておく必要あり

mysql-devel
postgresql-devel
gd-devel
libmcrypt-devel
readline-devel
freetype-devel
libjpeg-devel
libpng-devel
curl-devel
bzip2-devel
--with-zlibのために必要なzziplibはDAGのリポジトリにしかない...

  • 対象apacheのDSOが有効になっていること
  • php4のソースディレクトリ/sapi/apache2handler/sapi_apache2.cを編集
    定義文字列を変更する、以下の3#define PHP_MAGIC_TYPE "application/x-httpd-php4"
    #define PHP_SOURCE_MAGIC_TYPE "application/x-httpd-php4-source"
    #define PHP_SCRIPT "php4-script"
  • この状態でコンパイルするとMIME Typeが指定文字列に変更されるのでapacheの設定ファイルで適切に設定すればphp4が呼び出される

インストールパスを/usr/local/php-4.4.9などのように区切っておくと管理が楽かも

program-suffixに4を追加しておくことでphp4のバイナリだと判断できる

configureオプションは適宜調整する必要あり

DSOのみでやる場合

# ./configure --with-apxs2=/usr/sbin/apxs --program-suffix=4 --prefix=/usr/local/php-4.4.9 \
--enable-mbstring --with-gd=/usr --with-mysql=/usr --with-pgsql=/usr --with-zip \
--with-openssl=/usr --enable-bcmath --enable-ftp --with-snmp=/usr --with-mcrypt=/usr
 
# make
# make install
# cp php.ini-recommended /usr/local/php-4.4.9/lib/php.ini
# vi /usr/local/php-4.4.9/bin/php.ini
include_path = ".:/usr/local/php-4.4.9/lib/php" ←追加
 
# cp /etc/httpd/conf/httpd.conf.bak /etc/httpd/confd/httpd.conf
php4のLoadModule行が追加されるので削除するためにmake installが作成した
httpd.confのバックアップを上書きする
# vi /etc/httpd/conf.d/php.conf
php5のLoadModules行の後に以下を追加する
LoadModule php4_module  /usr/lib/httpd/modules/libphp4.so ←追加
AddHandler php4-script .php4 ←追加
AddType text/html .php4 ←追加
 
# service httpd restart
 
phpは/usr/local/php-4.4.9/binにインストール
php.iniは/usr/local/php-4.4.9/lib/php.ini
PEARは/usr/local/php-4.4.9/lib/phpにインストール
LoadModule行でphp4を読み込んでからphp5を読み込むと「httpd を起動中: /bin/bash: line 1: 8912 Segmentation fault /usr/sbin/httpd」となり起動できないので注意!

suPHP経由でやる場合

# ./configure --program-suffix=4-cgi --prefix=/usr/local/php-4.4.9 --enable-fastcgi --enable-force-cgi-redirect \
--with-openssl=/usr --with-zlib=/usr --enable-bcmath --with-bz2=/usr --enable-calendar \
--with-curl=/usr --enable-dba --enable-dbase --enable-dbx --enable-dio --with-dom=/usr \
--enable-exif --enable-filepro --enable-ftp --with-gd=/usr --with-gettext --with-iconv \
--enable-mbstring --with-mcrypt=/usr --with-mime-magic \
--with-mysql=/usr --with-readline=/usr --with-snmp=/usr --enable-sysvmsg --enable-sysvsem \
--enable-sysvshm --with-pgsql=/usr --with-zip=/usr --enable-memory-limit --enable-zend-multibyte
 
# make
# make install
# cp php.ini-recommended /usr/local/php-4.4.9/lib/php.ini
# vi /usr/local/php-4.4.9/bin/php.ini
include_path = ".:/usr/local/php-4.4.9/lib/php" ←追加
 
# vi /usr/local/etc/suphp.conf
x-httpd-php="php:/usr/bin/php-cgi"
x-httpd-php4="php:/usr/local/php-4.4.9/bin/php4-cgi" ←追加
 
# vi <VirtulaDomain>.conf
suPHP_Engine    On
<Directory "ルートパス">
        suPHP_UserGroup ユーザ名 グループ名
        suPHP_AddHandler x-httpd-php
        AddHandler x-httpd-php .php
        suPHP_AddHandler x-httpd-php4 ←追加
        AddHandler x-httpd-php4 .php4 ←追加
</Directory>
 
# service httpd restart

ディレクトリ毎にphpバージョンを変更する

DSO版

ディレクトリに.htaccessを作成し以下を記述
AddHandler php4-script .php

suPHP版

ディレクトリに.htaccessを作成し以下を記述
AddHandler x-httpd-php4 .php

これで下記のように稼動させる

拡張子バージョン
.phpphp 5
.php4php 4

php5

php5のコンパイルオプション

CentOS5上のやつ

./configure
--build=i686-redhat-linux-gnu
--host=i686-redhat-linux-gnu
--target=i386-redhat-linux-gnu
--program-prefix=
--prefix=/usr
--exec-prefix=/usr
--bindir=/usr/bin
--sbindir=/usr/sbin
--sysconfdir=/etc
--datadir=/usr/share
--includedir=/usr/include
--libdir=/usr/lib
--libexecdir=/usr/libexec
--localstatedir=/var
--sharedstatedir=/usr/com
--mandir=/usr/share/man
--infodir=/usr/share/info
--cache-file=../config.cache
--with-libdir=lib
--with-config-file-path=/etc
--with-config-file-scan-dir=/etc/php.d
--disable-debug
--with-pic
--disable-rpath
--without-pear
--with-bz2
--with-curl
--with-exec-dir=/usr/bin
--with-freetype-dir=/usr
--with-png-dir=/usr
--enable-gd-native-ttf
--without-gdbm
--with-gettext
--with-gmp
--with-iconv
--with-jpeg-dir=/usr
--with-openssl
--with-png
--with-pspell
--with-expat-dir=/usr
--with-pcre-regex=/usr
--with-zlib
--with-layout=GNU
--enable-exif
--enable-ftp
--enable-magic-quotes
--enable-sockets
--enable-sysvsem
--enable-sysvshm
--enable-sysvmsg
--enable-track-vars
--enable-trans-sid
--enable-yp
--enable-wddx
--with-kerberos
--enable-ucd-snmp-hack
--with-unixODBC=shared,/usr
--enable-memory-limit
--enable-shmop
--enable-calendar
--enable-dbx
--enable-dio
--with-mime-magic=/usr/share/file/magic.mime
--without-sqlite
--with-libxml-dir=/usr
--with-xml
--with-system-tzdata
--enable-force-cgi-redirect
--enable-pcntl
--with-imap=shared
--with-imap-ssl
--enable-mbstring=shared
--enable-mbstr-enc-trans
--enable-mbregex
--with-ncurses=shared
--with-gd=shared
--enable-bcmath=shared
--enable-dba=shared
--with-db4=/usr
--with-xmlrpc=shared
--with-ldap=shared
--with-ldap-sasl
--with-mysql=shared,/usr
--with-mysqli=shared,/usr/bin/mysql_config
--enable-dom=shared
--with-dom-xslt=/usr
--with-dom-exslt=/usr
--with-pgsql=shared
--with-snmp=shared,/usr
--enable-soap=shared
--with-xsl=shared,/usr
--enable-xmlreader=shared
--enable-xmlwriter=shared
--enable-fastcgi
--enable-pdo=shared
--with-pdo-odbc=shared,unixODBC,/usr
--with-pdo-mysql=shared,/usr
--with-pdo-pgsql=shared,/usr
--with-pdo-sqlite=shared,/usr
--enable-dbase=shared

必要パッケージ?

PCREにはpcre-devel
gd-devel
libjpeg-devel
libpng-devel
freetype-devel
U8T_CANONICALにはlibc-client-devel
MySQLにはmysql-devel
unixODBCにはunixODBC-devel
PostgreSQLにはpostgresql-devel
PSPELLにはaspell

次のオプションはphp 5.2.9には存在していない

--with-png
--with-expat-dir=/usr
--enable-track-vars
--enable-trans-sid
--enable-yp
--enable-memory-limit
--enable-dbx
--enable-dio
--with-xml
--with-system-tzdata
--enable-mbstr-enc-trans
--with-dom-xslt=/usr
--with-dom-exslt=/usr

phpモジュール

phpのモジュールについて

ちょっとモジュールについて調べてみました。

RPMで提供されているphpではコンパイルオプションが
–with-<module>=shared,/usr
とかになっています。
このオプション設定には以下の意味があります。

  • –with-<module>とすると<module>に指定されたものが有効となります。

これはphpソースに含まれているモジュールライブラリを利用してコンパイルされます。 そして、libphp.soに拡張モジュールが含まれます。

  • –with-<module>=sharedとするとphpソースに含まれているライブラリを利用しますが

拡張モジュール<module>.soを作成します。 このモジュールはphp.iniのextensionでロードすることになります。

  • –with-<module>=shared,<PATH>とするとPATHにインストールされている

ライブラリを利用してコンパイルされます。 そして、拡張モジュール<module>.soを作成します。 このモジュールはphp.iniのextensionでロードすることになります。

PATHを指定した場合、利用ライブラリは以下のパスになります。

ライブラリ=<PATH>/lib/<module>、インクルードファイル=<PATH>/include/<module>
つまり、このPATHディレクトリ以下に指定したモジュールのライブラリとインクルードファイルが存在している必要があります。

RPMでモジュールに該当するサーバーソフトをインストールしている場合 -develパッケージをインストールするとライブラリとインクルードファイルがインストールされる場合が非常に多くあります。

phpの拡張モジュールをRPMでインストールする場合は ライブラリとインクルードファイルが存在していなくても コンパイル済みの<module>.soがインストールされるため 問題はありません。phpをソースでインストールする場合にのみ影響します。

phpのinfomationを確認すると次のように確認できます。

<module名>_MODULE_TYPE=Bundleバンドルされたライブラリを使用
<module名>_MODULE_TYPE=External拡張モジュールとしてコンパイル

うぅ〜ん、難しいですね… :-(

phpのコンパイルで...

コンパイルする時に、CGI版のバイナリを作る際の注意事項

suPHPを利用する場合はCGI版のphpバイナリが必要

RPMではCLI版のphpバイナリと共にCGI版のphpバイナリ(ファイル名はphp-cgi)がインストールされる

参考URL:http://www.php.net/manual/ja/features.commandline.php

CGI版バイナリを作成する場合は…

  • configureオプションに–enable-fastcgiをつける
  • 他のSAPIモジュールオプションを記述しない
  • –disable-cliをつけておくと安心
  • –program-suffix=-cgiをつける

インストールすると、binディレクトリに以下のファイルが生成される

php-cgi
php-config-cgi
phpize-cgi

php5のRPM

oracleがRPMパッケージを提供している

http://oss.oracle.com/projects/php/

Oracle Linux向けパッケージであるがRedHat Enterprise Linuxにも適用可能

sourceパッケージとx86_64パッケージもある

となるとCentOSにも適用可能となる!

2009/08/04時点でEnterprise Linux 4向けも提供されているので強い見方かも

CentOSにインストールするには以下

念のためphp.iniをバックアップ
# cp /etc/php.ini /root/php.ini
# cd /usr/local/src/
# mkdir php52
# cd php52
全部は不要だと思うけどね...
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-bcmath-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-cli-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-common-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-dba-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-devel-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-gd-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-imap-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-ldap-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-mbstring-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-mysql-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-ncurses-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-oci8-11gR1-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-odbc-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-pdo-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-pgsql-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-snmp-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-soap-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-xml-5.2.10-2.el5.i386.rpm
# wget http://oss.oracle.com/projects/php/dist/files/EL5/i386/php52-xmlrpc-5.2.10-2.el5.i386.rpm

php52-develをインストールするためにはautoconf213パッケージが必要なので
# yum -y install autoconf213

不要なパッケージのファイル名を変更する
# mv php52-oci8-11gR1-5.2.10-2.el5.i386.rpm php52-oci8-11gR1-5.2.10-2.el5.i386.rpm.org

念のため既存パッケージリスト取得
# rpm -qa | grep php- > php.5.1.6.list

既存パッケージ削除
# yum remove php-*

インストール
# rpm -Uhv *.rpm

でもね…PEARがないんだよなぁ…(;;

configure Optionに–without-pearって明記してあるし

5.4.10の対策

対象OSはSL6の64bit。EL6系なら同様のはず。
5.4.10をソースからインストールした時のメモ

オプション yumインストモジュール
–enable-dmalloc dmalloc-devel
–enable-dtrace systemtap-sdt-devel
–with-vpx-dir libvpx-devel
–with-t1lib t1lib-devel
–with-imap-ssl libc-client-devel
–with-interbase firebird-devel
–with-icu libicu-devel
–with-mcrypt libmcrypt-devel
–with-mssql freetds-devel
–with-unixODBC unixODBC-devel
–with-iodbc libiodbc-devel
–with-pspell aspell-devel
–with-libedit libedit-devel
–with-recode recode-devel
–with-tidy libtidy-devel
–with-enchant enchant-devel
–with-gmp gmp-devel

yumコマンドはこうなるかな

yum install -y libvpx-devel t1lib-devel libc-client-devel firebird-devel libicu-devel libmcrypt-devel \
freetds-devel unixODBC-devel aspell-devel libedit-devel gmp-devel libtidy-devel enchant-devel

dmalloc-develは標準リポジトリにもepelにもない。dmalloc本体から辿ってrpmをゲットする

wget ftp://fr2.rpmfind.net/linux/Mandriva/devel/cooker/x86_64/media/contrib/release/dmalloc-5.5.2-7mdv2011.0.x86_64.rpm
wget ftp://fr2.rpmfind.net/linux/Mandriva/official/2011/x86_64/media/contrib/release/lib64dmalloc-devel-5.5.2-7mdv2011.0.x86_64.rpm
rpm -ihv dmalloc-5.5.2-7mdv2011.0.x86_64.rpm lib64dmalloc-devel-5.5.2-7mdv2011.0.x86_64.rpm

–enable-dtraceを有効にしたらmakeでZend部分のエラーが発生した。
–with-iodbcを有効にしたらmakeでiodbcext.hが見つからないとエラーが発生した。
ファイルは存在しているが、パスがおかしい
–enable-fd-setsize=2048とすればconfigureできるがmakeでZend部分がエラーになったので割愛
–enable-dmallocは外部RPM入れないといけないので割愛
–with-readlineはlibeditで置き換えられたので割愛

Configureはこれでいけるはずです。

./configure --prefix=/usr/local/php-5.4.10 \
--with-config-file-path=/usr/local/php-5.4.10/etc \
--with-config-file-scan-dir=/usr/local/php-5.4.10/etc/php.d \
--with-libdir=lib64 \
--with-layout=PHP \
--enable-sigchild \
--enable-libgcc \
--enable-dtrace \
--enable-libxml \
--with-openssl \
--with-kerberos \
--with-pcre-regex \
--with-sqlite3=shared \
--with-zlib \
--enable-bcmath=shared \
--with-bz2 \
--enable-calendar \
--with-curl=shared \
--enable-dba=shared \
--with-db4 \
--with-cdb \
--enable-inifile \
--enable-flatfile \
--enable-dom \
--with-enchant=shared \
--enable-exif \
--enable-fileinfo=shared \
--enable-filter \
--enable-ftp \
--with-openssl-dir \
--with-gd \
--with-vpx-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-xpm-dir \
--with-freetype-dir \
--with-t1lib \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-hash \
--with-iconv \
--with-imap=shared \
--with-kerberos \
--with-imap-ssl \
--with-interbase \
--enable-intl=shared \
--with-icu-dir=/usr \
--enable-json=shared \
--with-ldap=shared \
--with-ldap-sasl \
--enable-mbstring=shared \
--enable-mbregex \
--with-libmbfl \
--with-onig \
--with-mcrypt \
--with-mssql \
--with-mysql=shared,mysqlnd \
--with-zlib-dir \
--with-mysqli=shared,mysqlnd \
--with-unixODBC=shared,/usr \
--with-dbmaker \
--enable-pdo=shared \
--with-pdo-mysql=shared \
--with-pdo-pgsql=shared \
--with-pdo-sqlite=shared \
--with-pdo-odbc=shared,unixODBC,/usr \
--with-zlib \
--with-pgsql=shared \
--enable-phar=shared \
--enable-posix=shared \
--with-pspell=shared \
--with-libedit \
--enable-session \
--enable-shmop \
--enable-simplexml \
--with-libxml-dir \
--with-snmp=shared \
--with-openssl-dir \
--enable-soap=shared \
--with-libxml-dir \
--enable-sockets \
--enable-sysvmsg=shared \
--enable-sysvsem=shared \
--enable-sysvshm=shared \
--with-tidy=shared \
--enable-tokenizer \
--enable-wddx=shared \
--enable-xml \
--enable-xmlreader=shared \
--with-xmlrpc=shared \
--with-iconv-dir \
--enable-xmlwriter=shared \
--with-xsl=shared \
--enable-zip=shared \
--with-pear \
--with-pic \
--enable-pcntl