ホームページ >バックエンド開発 >PHPチュートリアル >Centos での php5.2 から php5.4 へのアップグレード (コンパイルとインストール) の完全な記録、php5.2php5.4_PHP チュートリアル
upgrade
現在のphpの最新バージョンはphp5.5ですが、さまざまな考慮事項により、最初にphp5.4にアップグレードする方が確実です。
オリジナルの PHP は php5.2.10 を使用していますが、これは 4 ~ 5 年前から実行されており、アップグレードする時期が来ました。
5.4 の最新の安定バージョンは 5.4.21 です (5.4.22 は 2013 年 11 月 14 日にリリースされました...)
コードをコピーします コードは次のとおりです:
wget http://cn2.php.net/get/php-5.4.21.tar.gz/from/this/mirror
tar zxf php-5.4.21.tar.gz
cdphp-5.4.21
ソース コードを変更します。プログラムのエンコードが UTF-8 の場合は、この手順をスキップします。
プログラムのデフォルトが GBK で、プログラムの多くが htmlspecialchars を使用している場合、5.4 のデフォルトは utf-8 であるため、ソース コードを直接変更することをお勧めします。 htmlspecialchars を使用した出力は空になります。
コードをコピーします コードは次のとおりです:
ext/standard/html.c
372行目
/* デフォルトは UTF-8 になりました */
if (charset_hint == NULL)
cs_utf_8 を返します;
--->
/* デフォルトは UTF-8 になりました */
if (charset_hint == NULL)
cs_8859_1 を返す;
htmlspecialchars がデフォルトで UTF-8 になる問題を解決します。
コードをコピーします コードは次のとおりです:
./configure --prefix=/usr/local/php5.4 --with-zlib --enable-bcmath --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-mysql - -with-mysqli --with-pdo-mysql --enable-ftp --with-jpeg-dir --with-freetype-dir --with-png-dir --enable-fpm --with-fpm-user= www --with-fpm-group=www
よりシンプルなインストールパラメータ:
コードをコピーします コードは次のとおりです:
./configure --prefix=/usr/local/php5.4 --enable-fpm --with-mysql
ZEND_EXTRA_LIBS='-liconv' にする
インストールする
------------------------
2 つのデフォルト ファイルを適切な場所、php.ini-development または php.ini-production に移動します。
コードをコピーします コードは次のとおりです:
cd /usr/local/php5.4/etc/
cp php-fpm.conf.default php-fpm.conf
cp /www/soft/php-5.4.21/php.ini-development /usr/local/php5.4/lib/php.ini
----------------------------------
php-fpm.conf
listen.allowed_clients = 127.0.0.1 の前を削除します。
------------------------
php.ini
コードをコピーします コードは次のとおりです:
short_open_tag = オフ
に変更します
コードをコピーします コードは次のとおりです:
short_open_tag = オン
コードをコピーします コードは次のとおりです:
;日付.タイムゾーン =
に変更します
コードをコピーします コードは次のとおりです:
date.timezone = "アジア/上海"
コードをコピーします コードは次のとおりです:
error_reporting = E_ALL
に変更します
コードをコピーします コードは次のとおりです:
error_reporting = E_ALL & ~E_NOTICE
ブートサービスリストに追加
コードをコピーします コードは次のとおりです:
cp -f /www/soft/php-5.4.21/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm がオン
php-fpm を開始します:
コードをコピーします コードは次のとおりです:
サービスphp-fpmの開始
PHPのアップグレードが完了しました!
-------------------------------------------------- ----
ZendOpcache をインストールします。管理者の Laruence 氏によると、拡張形式で提供される PHP 用のオプトマイザーである Zend Opcache は、多くのコンパイル最適化を実行し、APC と比較して 7% 以上高速です。 apc_store ユーザー データ キャッシュは提供されません。 apc のユーザー キャッシュを使用したい場合は、APCU または Laruence の Yac の併用を検討できます。
コードをコピーします コードは次のとおりです:
wget http://pecl.php.net/get/ZendOpcache
tar zxf ZendOpcache
cd zendopcache-7.0.2/
/usr/local/php5.4/bin/phpize
./configure --with-php-config=/usr/local/php5.4/bin/php-config
作る
インストールする
共有拡張機能のインストール: /usr/local/php5.4/lib/php/extensions/no-debug-non-zts-20100525/
公式推奨パラメータであるphp.iniの最後に直接追加します
コードをコピーします コードは次のとおりです:
zend_extension= /usr/local/php5.4/lib/php/extensions/no-debug-non-zts-20100525/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.save_comments=0
opcache.enable_file_override=1
サービスphp-fpmリロード
ここの phpinfo() には Zend OPcache v7.0.2 と、多くの関連パラメータがあります。
このようにしてphp5.4がバージョンアップされます。
--------------------------------
php-fpmの起動に失敗しました
コードをコピーします コードは次のとおりです:
php-fpm /etc/init.d/php-fpm の開始: 行 53: 12483 セグメンテーション違反 $php_fpm_BIN --daemonize $php_opts
失敗しました
APC と Zend opcache を同時にインストールすると競合が発生します。Zend opcache では、APC をインストールする必要はありません。