Skip to content

Instantly share code, notes, and snippets.

@CLCL
Last active August 29, 2015 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CLCL/55c5ff46fa658983651c to your computer and use it in GitHub Desktop.
Save CLCL/55c5ff46fa658983651c to your computer and use it in GitHub Desktop.
CentOS 6のシステムPHP 5.3.3を削除して、phpenv/phpbuildでPHP 5.6.3をビルドして、システムPHPにする
# CentOS 6.6 のシステムPHP 5.3.3を消して、phpenv/php-buildでPHP 5.6.3をビルドする
# rootで作業
pecl uninstall apc
yum -y remove php php-*
yum -y install openssl-devel libcurl-devel libmcrypt-devel readline-devel \
libtidy-devel re2c enchant-devel t1lib-devel gmp-devel libc-client-devel \
libicu-devel net-snmp-devel mysql-devel libtool-ltdl-devel git libxml2-devel \
libjpeg-turbo-devel libpng-devel libxslt-devel httpd-devel gcc re2c
# EPELリポジトリ
yum -y install epel-release
# --enablerepo=epelしないと使えないようにする
sed -i -e '/^enabled.*=.*1/s/1/0/' /etc/yum.repos.d/epel.repo
yum --enablerepo=epel install libmcrypt libmcrypt-devel
# phpenv設定(PHP切り替え環境)システムワイドに設定するので注意
export PHPENV_ROOT=/usr/local/phpenv
curl https://raw.githubusercontent.com/CHH/phpenv/master/bin/phpenv-install.sh | bash
# システムグローバルでの実行パス設定その他のスクリプト
cat << EOS >/etc/profile.d/rbenv.sh
export PHPENV_ROOT=/usr/local/phpenv
export PATH="\$PHPENV_ROOT/bin:\$PATH"
eval "\$(phpenv init -)"
EOS
# rbenv実行・読み込み
source /etc/profile.d/rbenv.sh
# php-build設定(PHPをバージョンごと構築するプラグイン)
mkdir $PHPENV_ROOT/plugins
cd $PHPENV_ROOT/plugins
git clone git://github.com/CHH/php-build.git
cd
phpenv install --complete
# ビルドオプションを変更(Apache用モジュールを生成させてhttpd.confを書き換える)
#sed -i $PHPENV_PLUGINS/php-build/share/php-build/definitions/$PHPVERSION \
# -e '1i configure_option "--with-apxs2=/usr/sbin/apxs"'
cat << EOS >> $PHPENV_ROOT/plugins/php-build/share/php-build/default_configure_options
--with-apxs2=/usr/sbin/apxs
EOS
# PHPビルド・インストール
phpenv install 5.6.3
phpenv rehash
phpenv global 5.6.3
# ApacheでPHP拡張子時にPHP実行させるように変更他
cat << EOS >/etc/httpd/conf.d/php.conf
# https://httpd.apache.org/docs/current/mod/mod_mime.html#multipleext
#AddHandler php5-script .php
<FilesMatch "\.php$">
SetHandler php5-script
</FilesMatch>
AddType text/html .php
DirectoryIndex index.php
AddType application/x-httpd-php .php
EOS
# Timezone設定・MySQLのsocketファイルのパス変更
cat <<EOS > /usr/local/phpenv/versions/5.6.3/etc/conf.d/append.ini
date.timezone="Asia/Tokyo"
display_errors="On"
error_log="/var/log/php_errors.log"
mail.add_x_header="Off"
mbstring.detect_order="UTF-8,SJIS,EUC-JP,JIS,ASCII"
mbstring.language="Japanese"
post_max_size="128M"
upload_max_filesize="128M"
mysql.default_socket="/var/lib/mysql/mysql.sock"
mysqli.default_socket="/var/lib/mysql/mysql.sock"
pdo_mysql.default_socket="/var/lib/mysql/mysql.sock"
EOS
# php.iniファイルを /etc/php.ini へシンボリックリンク
ln -s /usr/local/phpenv/versions/5.6.3/etc/php.ini /etc/php.ini
# phpenv用PECL
cd /usr/local/phpenv/plugins/
git clone https://github.com/felipecwb/pecl-build.git
# intlを入れる(CakePHP3用)
phpenv pecl intl
# Apache再起動
cd
/sbin/service httpd restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment