APC(Alternative PHP Cache) を導入する事が出来ましたが
グラフが表示しない状態です
何が原因か調べてみると gd.so が無い事がわかりました
ただ、gd.so を作成するには、PHP を リビルドする必要があります
リビルド方法
①.こちらを参考にしています。
php5.spec の編集分部を参考にしています。
②.vi php5.spec
php5.specを編集します。変更前
Name: php5
Version: 5.2.9
Release: 4%{_dist_release}
License: The PHP License
Group: Development/Languages
Patch51: php-5.2.6-session_strict_mode.patch
%patch51 -p1 -b .strict_session
%configure \
--cache-file=../config.cache \
--prefix=%{_prefix} \
--libdir=%{_libdir}/%{_name} \
--with-libdir=%{_lib} \
--sysconfdir=%{php_confdir} \
--program-suffix=%{majorver} \
--enable-safe-mode \
--disable-rpath \
--enable-bcmath \
--enable-calendar \
--enable-exif \
--enable-ftp \
--enable-mbstring \
--enable-shmop \
--enable-soap \
--enable-sockets \
--with-sqlite=shared \
--enable-sqlite-utf8 \
--enable-sysvmsg --enable-sysvsem --enable-sysvshm \
--enable-wddx \
--enable-inline-optimization \
--enable-zend-multibyte \
--with-layout=GNU \
--with-config-file-path=%{php_confdir} \
--with-config-file-scan-dir=%{php_confdir}/php.d \
--with-exec-dir=%{_libdir}/%{_name}/bin \
--with-openssl \
--with-zlib \
--with-bz2 \
--with-curl \
--enable-gd-native-ttf \
--enable-dba=shared --with-gdbm --with-db4 \
変更後
Name: php5
Version: 5.2.17
Release: 0%{_dist_release}
License: The PHP License
Group: Development/Languages
変更内容
5.2.9 ⇒ 5.2.17 に変更します。
4%{_dist_release} ⇒ 0%{_dist_release}に変更します。
#Patch51: php-5.2.6-session_strict_mode.patch
#%patch51 -p1 -b .strict_session
変更内容
#としてコメントアウトにしています。
%configure \
--cache-file=../config.cache \
--prefix=%{_prefix} \
--libdir=%{_libdir}/%{_name} \
--with-libdir=%{_lib} \
--sysconfdir=%{php_confdir} \
--program-suffix=%{majorver} \
--enable-safe-mode \
--disable-rpath \
--enable-bcmath \
--enable-calendar \
--enable-exif \
--enable-ftp \
--enable-mbstring \
--enable-shmop \
--enable-soap \
--enable-sockets \
--with-sqlite=shared \
--enable-sqlite-utf8 \
--enable-sysvmsg --enable-sysvsem --enable-sysvshm \
--enable-wddx \
--enable-inline-optimization \
--enable-zend-multibyte \
--with-layout=GNU \
--with-config-file-path=%{php_confdir} \
--with-config-file-scan-dir=%{php_confdir}/php.d \
--with-exec-dir=%{_libdir}/%{_name}/bin \
--with-openssl \
--with-zlib \
--with-bz2 \
--with-curl \
--enable-gd-native-ttf \
--enable-dba=shared --with-gdbm --with-db4 \
--with-tsm-pthreads \
--enable-maintainer-zts \
--with-dom=shared,/usr \
--enable-mbregex \
--with-gd=shared,/usr \
--enable-gd-jis-conv \
--enable-module=so \
--with-ttf \
--enable-zip \
--with-zlib-dir=%{_prefix} \
--with-jpeg-dir=%{_prefix} --with-png-dir=%{_prefix} --with-freetype-dir=%{_prefix} \
--with-gettext \
--with-gmp \
--with-imap=shared --with-imap-ssl \
--with-kerberos \
--with-ldap=shared \
--with-mcrypt=shared,%{_prefix} \
--with-mysql=shared,%{_prefix} \
--with-mysqli=shared \
--with-unixODBC=shared,%{_prefix} \
--enable-pdo=shared --with-pdo-odbc=shared,unixODBC,%{_prefix} --with-pdo-mysql=shared,%{_prefix} --with-pdo-pgsql=shared,%{_prefix} --with-pdo-sqlite=shared,%{_prefix} \
--with-pgsql=shared \
--with-snmp=shared,%{_prefix} \
--with-xmlrpc=shared \
--with-xsl \
%{?_with_pear:--with-pear=%{pear_rootdir}}%{!?_with_pear:--without-pear} \
--with-pic \
変更内容
--with-tsm-pthreads \
--enable-maintainer-zts \
--with-dom=shared,/usr \
--enable-mbregex \
--with-gd=shared,/usr \
--enable-gd-jis-conv \
--enable-module=so \
--with-ttf \
--enable-zip \
--with-zlib-dir=%{_prefix} \
赤字の分部をを追加します。
gd.so が作成出来るように設定を追加しています。
apache の worker が、PHP でも使用出来るように
設定を追加しています。③.rpmbuild -bb --clean php5.spec
リビルドを実行します。
無事にリビルドが完成する事を祈って放置します
すると、リビルドは成功しているけど・・・
パッケージに未収録のインストール済みファイルが見つかりました って
表示している
未収録の内容
/.channels/.alias/pear.txt
/.channels/.alias/pecl.txt
/.channels/.alias/phpdocs.txt
/.channels/__uri.reg
/.channels/doc.php.net.reg
/.channels/pear.php.net.reg
/.channels/pecl.php.net.reg
/.depdb
/.depdblock
/.filemap
/.lock
/usr/bin/pear
/usr/bin/peardev
/usr/bin/pecl
/usr/bin/php-config5
/usr/bin/phpize5
/usr/lib64/php5/gd.so
/usr/share/man/man1/php-config5.1.gz
/usr/share/man/man1/phpize5.1.gz
未収録の内容を追加しないと
更に、php5.spec を編集する必要があります
追加編集
④.vi php5.spec
php5.specを編集します。
変更前
%files
%defattr(-,root,root)
%doc CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README*
%doc Zend/ZEND_* TSRM_LICENSE regex_COPYRIGHT
%doc php.ini-{dist,recommended}
%doc php.gif
%{_mandir}/man1/%{_name}.1*
%config(noreplace) %{php_confdir}/php.ini
%{_bindir}/%{_name}
%{_bindir}/%{_name}-cgi
%{_bindir}/%{_name}-fcgi
%dir %{php_confdir}
%dir %{php_confdir}/php.d
%dir %{_libdir}/%{_name}
%dir %{_libdir}/%{_name}/bin
%dir %{_localstatedir}/%{_name}
%attr(0770,root,apache) %dir %{_localstatedir}/%{_name}/session
変更後
%files
%defattr(-,root,root)
%doc CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS README*
%doc Zend/ZEND_* TSRM_LICENSE regex_COPYRIGHT
%doc php.ini-{dist,recommended}
%doc php.gif
%{_mandir}/man1/%{_name}.1*
%config(noreplace) %{php_confdir}/php.ini
%{_bindir}/%{_name}
%{_bindir}/%{_name}-cgi
%{_bindir}/%{_name}-fcgi
%dir %{php_confdir}
%dir %{php_confdir}/php.d
%dir %{_libdir}/%{_name}
%dir %{_libdir}/%{_name}/bin
%dir %{_localstatedir}/%{_name}
%attr(0770,root,apache) %dir %{_localstatedir}/%{_name}/session
/.channels/.alias/pear.txt
/.channels/.alias/pecl.txt
/.channels/.alias/phpdocs.txt
/.channels/__uri.reg
/.channels/doc.php.net.reg
/.channels/pear.php.net.reg
/.channels/pecl.php.net.reg
/.depdb
/.depdblock
/.filemap
/.lock
/usr/bin/pear
/usr/bin/peardev
/usr/bin/pecl
/usr/bin/php-config5
/usr/bin/phpize5
/usr/lib64/php5/gd.so
/usr/share/man/man1/php-config5.1.gz
/usr/share/man/man1/phpize5.1.gz
赤字の分部をを追加します。
⑤.rpmbuild -bb --clean php5.spec
リビルドを実行します。
リビルドも成功し、gd.so もインストール出来たけど・・・
グラフが表示しないぞぉ~ん
結局、グラフが表示しなくても APC は使えるので諦める事にしました