2011年10月22日土曜日

php 5.3.8のインストール

もう何度も挑戦して、失敗している気がするが、
もう一度挑戦してみる。

1、ソースをダウンロード
# pwd
/usr/local/share
# wget http://jp.php.net/get/php-5.3.8.tar.gz/from/this/mirror
# tar -xvzf php-5.3.8.tar.gz


2、必要っぽいものをインストール
# yum install pcre pcre-devel
# yum install gcc
# yum install libxml2-devel
# yum install openssl-devel
# yum install sqlite-devel
# yum install bzip2-devel
# yum install curl-devel

# yum install gdbm-devel
# yum install 
# yum install 
# yum install 
# yum install 
# yum install 
# yum install 
# yum install 
# yum install 




※ gcc をインストールせずに、configureをやろうとすると、
「no acceptable cc found in $PATH」といわれる。
cc = C Compiler。略さないでほしい。

※ libxml2-develをインストールしてないと、configureで
「xml2-config not found」といわれる。

※ openssl-devel
「 Cannot find OpenSSL's 」といわれる。

※ pcre-devel

「Could not find pcre.h in /usr」といわれる。

※ sqlite-devel
「Please reinstall the sqlite distribution from http://www.sqlite.org」

※ bzip2-devel
「 Please reinstall the BZip2 distribution」

※ curl-devel
「 Please reinstall the libcurl distribution -
    easy.h should be in /include/curl/」

※ gdbm-devel、db4-devel
「Could not find necessary header file(s).」

※ enchant enchant-devel
「 Cannot find enchant」

※ libjpeg libjpeg-devel
「jpeglib.h not found」


※ libpng libpng-devel
「png.h not found」

※ libXpm libXpm-devel
「libXpm.(a|so) not found.」

※ freetype freetype-devel
「freetype.h not found.」

※ gmp gmp-devel
「Unable to locate gmp.h」

※ php-imap libc-client libc-client-devel
「 utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.」
config.log : 「mail.h: No such file or directory」

※ libicu libicu-devel
「 Unable to detect ICU prefix or /usr/bin/icu-config failed. Please verify ICU install prefix and make sure icu-config works.」

※ gcc-c++
「 installation or configuration problem: C++ compiler cannot create executables.」


※ openldap-devel
「Cannot find ldap.h」

※ mysql-devel 
「 Cannot find MySQL header files under /usr.
Note that the MySQL client library is not bundled anymore!」


※ unixODBC-devel
「 ODBC header file '/usr/include/sqlext.h' not found!」

※ postgresql postgresql-devel
「 Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path」

※ php-pspell aspell aspell-devel
「Cannot find pspell」


※ libedit libedit-devel
「 Please reinstall libedit - I cannot find readline.h」


※ recode recode-devel
「 Can not find recode.h anywhere under /usr /usr/local /usr /opt.」




※ net-snmp net-snmp-devel
「 SNMP sanity check failed. Please check config.log for more information.」



※ libtidy libtidy-devel
「 Cannot find libtidy」



※ libxslt libxslt-devel
「 xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution」



※ cyrus-imapd cyrus-imapd-devel ,
「 recode extension can not be configured together with: imap」

config.log
「cannot find -lmysqlclient」

① パスの変更 → ×
# export LDFLAGS="-L/usr/lib64/mysql"

② シンボリックリンク → ×
# ln -s /usr/lib64/mysql /usr/lib/mysql

③ rootになってconfigureを実行する → ×
「/usr/local/share/php-5.3.8/configure:104253: undefined reference to `hash_insert'」

# yum install cyrus*

④ lib64/mysql/libmysqlclient.soのシンボリックリンク、
lib64/libmysqlclient.soを作成する → △

「undefined reference to `hash_insert'」

⑤ mysqlに関わるものをすべて入れる → ×
# yum install mysql*

⑥ imapに関わるオプションをなくす。→ ○
'--with-imap=shared' '--with-imap-ssl'
これらをなくす。

3、configure
yum でphpをインストールしたときに使われているオプションを、
phpinfoからパクって使った。

# sudo './configure'  '--build=x86_64-unknown-linux-gnu' '--host=x86_64-unknown-linux-gnu' '--target=x86_64-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/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-xpm-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--with-kerberos' '--enable-ucd-snmp-hack' '--enable-shmop' '--enable-calendar' '--without-sqlite' '--with-libxml-dir=/usr' '--enable-xml' '--with-system-tzdata' '--enable-force-cgi-redirect' '--enable-pcntl'  '--enable-mbstring=shared' '--enable-mbregex' '--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-pgsql=shared' '--enable-wddx=shared' '--with-snmp=shared,/usr' '--enable-soap=shared' '--with-xsl=shared,/usr' '--enable-xmlreader=shared' '--enable-xmlwriter=shared' '--with-curl=shared,/usr' '--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' '--with-sqlite3=shared,/usr' '--enable-json=shared' '--enable-zip=shared' '--without-readline' '--with-libedit' '--with-pspell=shared' '--enable-phar=shared' '--with-tidy=shared,/usr' '--enable-sysvmsg=shared' '--enable-sysvshm=shared' '--enable-sysvsem=shared' '--enable-posix=shared' '--with-unixODBC=shared,/usr' '--enable-fileinfo=shared' '--enable-intl=shared' '--with-icu-dir=/usr' '--with-enchant=shared,/usr' '--with-recode=shared,/usr'


4、sudo make
いけたっぽい。

5、sudo make test

6、sudo make install


$ sudo make install
Installing PHP SAPI module:       cgi
Installing PHP CGI binary: /usr/bin/
Installing PHP CLI binary:        /usr/bin/
Installing PHP CLI man page:      /usr/share/man/man1/
Installing shared extensions:     /usr/lib64/20090626/
Installing build environment:     /usr/lib64/build/
Installing header files:          /usr/include/php/
Installing helper programs:       /usr/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/share/man/man1/
  page: phpize.1
  page: php-config.1
/usr/local/share/php-5.3.8/build/shtool install -c ext/phar/phar.phar /usr/bin
ln -s -f /usr/bin/phar.phar /usr/bin/phar
Installing PDO headers:          /usr/include/php/ext/pdo/



7、extension_dirの変更
php.iniに以下を書き込み

extension_dir="/usr/lib64/20090626/"


8、バージョン確認
$ php -v

PHP 5.3.8 (cli) (built: Oct 23 2011 01:39:12)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies


※ imap.soがないってエラーが出ていた。
使わないと思ったので、php-imapを消した。
sudo yum install php-imap

0 件のコメント:

コメントを投稿