Warning: Trying to access array offset on value of type bool in /home/r1029599/public_html/engineer-log.net/wp-content/themes/simplicity2/lib/customizer.php on line 5404

CentOS6.7:Apache2.2,php5.5からApache2.4,php5.6にバージョンアップの奮闘記 PHP篇

Apacheのインストールが終わったので、次はPHPにいきたいと思います。

旧設定ファイルのバックアップ

cp -r /etc/php.d/ /root/
cp -r /etc/php.ini /root/

旧バージョンのアンインストール

yum remove php*

php5.6のリポジトリ−を追加して、yumからインストールすると必ず以下のエラーになります。
まぁ、Apache2.4にバージョンアップしたから、必ずそうなるだろうね
別の方法を考えよう

Error: Package: php56-php-5.6.18-1.el6.remi.x86_64 (remi)
           Requires: httpd-mmn = 20051115
           Installed: httpd-2.4.18-1.x86_64 (installed)
               httpd-mmn = 20120211
           Available: httpd-2.2.15-45.el6.centos.x86_64 (base)
               httpd-mmn = 20051115
           Available: httpd-2.2.15-47.el6.centos.x86_64 (updates)
               httpd-mmn = 20051115
           Available: httpd-2.2.15-47.el6.centos.1.x86_64 (updates)
               httpd-mmn = 20051115
           Available: httpd-2.2.15-47.el6.centos.2.x86_64 (updates)
               httpd-mmn = 20051115
           Available: httpd-2.2.15-47.el6.centos.3.x86_64 (updates)
               httpd-mmn = 20051115

rpmからインストールしよう!
関連依存パッケージインストール

yum install libjpeg-turbo-devel
yum --enablerepo=epel install l firebird-devel ibmcrypt-devel
yum install bzip2-devel pam-devel libstdc++-devel libedit-devel gcc-c++ libtool-ltdl-devel systemtap-sdt-devel libc-client-devel net-snmp-devel libxslt-devel t1lib-devel libpng-devel freetype-devel libXpm-devel  libvpx-devel  gmp-devel  tokyocabinet-devel  libtidy-devel  aspell-devel recode-devel libicu-devel enchant-devel

php5.6.4をインストールする
注意:php5.6.4以降のバージョンをインストールするとhttpd-toolsのチェックが必須になります!
(そこは諦めて5.6.4に・・・)

wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/SRPMS/php56u-5.6.4-1.ius.centos6.src.rpm
rpmbuild --rebuild --clean php56u-5.6.4-1.ius.centos6.src.rpm

-----
Sorry, I cannot run apxs.  Possible reasons follow:
 
1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)
 
The output of /usr/sbin/apxs follows:
./configure: line 8774: /usr/sbin/apxs: No such file or directory
configure: error: Aborting
-----
#このエラーが出たら、下記の方法で直してください

cd /root/rpmbuild/SPECS/
vi php56u.spec
 
(line52行目付近)
# /usr/sbin/apsx with httpd < 2.4 and defined as /usr/bin/apxs with httpd >= 2.4
 %{!?_httpd_apxs:       %{expand: %%global _httpd_apxs       %%{_sbindir}/apxs}}
 ↓
  %{!?_httpd_apxs:       %{expand: %%global _httpd_apxs       %%{_bindir}/apxs}}
  
rpmbuild -bb --clean php56u.spec
cd /root/rpmbuild/RPMS/x86_64
rpm -ivh --nodeps php56u-*

php56u-pear

wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/SRPMS/php56u-pear-1.10.1-4.ius.centos6.src.rpm
rm -rf /var/lib/pear/
rpmbuild --rebuild --clean php56u-pear-1.10.1-4.ius.centos6.src.rpm
rpm -ihv /root/rpmbuild/RPMS/noarch/php56u-pear-1.10.1-4.ius.el6.noarch.rpm

php56u-pecl-jsonc

wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/SRPMS/php56u-pecl-jsonc-1.3.9-1.ius.centos6.src.rpm
rpmbuild --rebuild --clean php56u-pecl-jsonc-1.3.9-1.ius.centos6.src.rpm
rpm -ihv /root/rpmbuild/RPMS/x86_64/php56u-pecl-jsonc-*

php56u-pecl-apcu

wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/SRPMS/php56u-pecl-apcu-4.0.10-1.ius.centos6.src.rpm
rpmbuild --rebuild --clean php56u-pecl-apcu-4.0.10-1.ius.centos6.src.rpm

なぜかこのエラーが出る!

APC: Bug #59938 APCIterator fails with large user cache [tests/apc54_018.phpt]

色々調べてみたら、単にメモリ不足でした・・・
メモリを追加します!
もう一度実行して、うまく行きましたw

rpm -ihv /root/rpmbuild/RPMS/x86_64/php56u-pecl-apcu-*
rpm -ihv /root/rpmbuild/RPMS/noarch/apcu-panel56u-4.0.10-1.ius.el6.noarch.rpm

Apache設定
/etc/httpd/conf.d/php.confの新規ファイルを作って、下記設定を入れましょう。

#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
<IfModule prefork.c>
  LoadModule php5_module lib64/httpd/modules/libphp5.so
</IfModule>
<IfModule !prefork.c>
  LoadModule php5_module lib64/httpd/modules/libphp5-zts.so
</IfModule>


#
# Cause the PHP interpreter to handle files with a .php extension.
#
AddHandler php5-script .php
AddType text/html .php

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
AddType application/x-httpd-php-source .phps

最後にApacheを再起動して、サイトを見てみましょう!

/etc/rc.d/init.d/httpd restart

– PR –
– PR –