Centos での php5.2 から php5.4 へのアップグレード (コンパイルとインストール) の完全な記録、php5.2php5.4_PHP チュートリアル

WBOY
リリース: 2016-07-13 09:58:00
オリジナル
1021 人が閲覧しました

Centos での php5.2 から php5.4 へのアップグレード (コンパイルとインストール)、php5.2php5.4 の完全な記録

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 をインストールする必要はありません。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/978730.html技術記事 Centos での php5.2 から php5.4 へのアップグレード (コンパイルとインストール) の完全な記録、php5.2php5.4 のアップグレード 現在の php の最新バージョンは php5.5 ですが、さまざまな考慮事項により、php5.5 にアップグレードする方が確実です。まずはphp5.4。 オリジナル...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!