ホームページ >バックエンド開発 >PHPチュートリアル >オンラインサーバーphp5.3.8をphp5.6.3にアップグレードしました

オンラインサーバーphp5.3.8をphp5.6.3にアップグレードしました

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 13:43:39961ブラウズ

サーバーの種類 CentOS 6.5

プロジェクトではphp5.4以降の新機能を使用する必要があるため、現在のサーバーは依然としてphp5.3.8バージョンを使用しているため、バージョンのアップグレードが非常に必要です。


まず、php-fpm サービスを閉じてから、新しいバージョンの更新が失敗した場合のロールバックを防ぐために /usr/local/php の名前を変更します


mv /usr/local/php  /usr/local/php5.3.8

次に、最新バージョンをダウンロードします。 php5.6.3 を解凍してください


wget  http://www.php.net/distributions/php-5.6.3.tar.gztar -zxvf  php-5.6.3.tar.gz

アップグレードなので、php の多くの依存パッケージを既にインストールしています

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-fpm-user=www --with-fpm-group=www  --enable-fpm --enable-opcache --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --disable-fileinfo   --with-iconv-dir=/usr/local  --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml   --disable-rpath --enable-bcmath --enable-shmop --enable-exif --enable-sysvsem --enable-inline-optimization --with-curl   --enable-mbregex --enable-mbstring  --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash  --enable-pcntl --enable-sockets --with-xmlrpc --enable-ftp --with-gettext --enable-zip --enable-soap --disable-ipv6  --disable-debug

最も重要な点に注意してください。 opcache をオンにすると、opcode に置き換えることで php のパフォーマンスが向上します

--disable-debug --disable-ipv6 もありますデバッグ ipv6 をオフにするとパフォーマンスが向上します


最初のメイクエラー

ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor':/home/king/php-5.2.13/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open'collect2: ld returned 1 exit statusmake: *** [sapi/cli/php] Error 1


オンラインで解決策を見つける

PHP をシステムにインストールするときに「libiconv_open への未定義の参照」などのエラー メッセージが表示される場合は、「./」内のいくつかの環境変数の値を把握する必要があることを意味します。構成、設定"。 「-o sapi/cli/php」を作成するとエラーが発生します。リンクする iconv 関数ライブラリのパラメータがありません。 解決策: Makefile の 77 行目あたりを編集します: EXTRA_LIBS = ..... -lcrypt を編集し、最後に -liconv を追加します。例: EXTRA_LIBS = ..... -lcrypt -liconv にして、再度 make します。

その後、リメイクはスムーズに完了しました


make clean  #清除上次编译生成的 obj文件make ZEND_EXTRA_LIBS='-liconv'make install

php.ini を設定して最適化した後、具体的なパラメータは Baidu で簡単に理解できます

sed -i 's@^output_buffering =@output_buffering = On\noutput_buffering =@' /usr/local/php/etc/php.inised -i 's@^;cgi.fix_pathinfo.*@cgi.fix_pathinfo=0@' /usr/local/php/etc/php.inised -i 's@^short_open_tag = Off@short_open_tag = On@' /usr/local/php/etc/php.inised -i 's@^expose_php = On@expose_php = Off@' /usr/local/php/etc/php.inised -i 's@^request_order.*@request_order = "CGP"@' /usr/local/php/etc/php.inised -i 's@^;date.timezone.*@date.timezone = Asia/Shanghai@' /usr/local/php/etc/php.inised -i 's@^post_max_size.*@post_max_size = 50M@' /usr/local/php/etc/php.inised -i 's@^upload_max_filesize.*@upload_max_filesize = 50M@' /usr/local/php/etc/php.inised -i 's@^;upload_tmp_dir.*@upload_tmp_dir = /tmp@' /usr/local/php/etc/php.inised -i 's@^max_execution_time.*@max_execution_time = 5@' /usr/local/php/etc/php.inised -i 's@^disable_functions.*@disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,popen@' /usr/local/php/etc/php.inised -i 's@^session.cookie_httponly.*@session.cookie_httponly = 1@' /usr/local/php/etc/php.inised -i 's@^mysqlnd.collect_memory_statistics.*@mysqlnd.collect_memory_statistics = On@' /usr/local/php/etc/php.ini

opcache モジュールをインストールしてここに設定しました

sed -i 's@^\[opcache\]@[opcache]\nzend_extension=opcache.so@' $php_install_dir/etc/php.inised -i 's@^;opcache.enable=.*@opcache.enable=1@' $php_install_dir/etc/php.inised -i "s@^;opcache.memory_consumption.*@opcache.memory_consumption=128" $php_install_dir/etc/php.inised -i 's@^;opcache.interned_strings_buffer.*@opcache.interned_strings_buffer=8@' $php_install_dir/etc/php.inised -i 's@^;opcache.max_accelerated_files.*@opcache.max_accelerated_files=4000@' $php_install_dir/etc/php.inised -i 's@^;opcache.revalidate_freq.*@opcache.revalidate_freq=60@' $php_install_dir/etc/php.inised -i 's@^;opcache.save_comments.*@opcache.save_comments=0@' $php_install_dir/etc/php.inised -i 's@^;opcache.fast_shutdown.*@opcache.fast_shutdown=1@' $php_install_dir/etc/php.inised -i 's@^;opcache.enable_cli.*@opcache.enable_cli=1@' $php_install_dir/etc/php.inised -i 's@^;opcache.optimization_level.*@;opcache.optimization_level=0@' $php_install_dir/etc/php.ini

php-fpm ファイルを生成する

vim /usr/local/php/etc/php-fpm.conf[global]pid = /usr/local/php/var/run/php-fpm.piderror_log = /usr/local/php/var/log/php-fpm.loglog_level = notice[www]listen = /tmp/php-cgi.socklisten.backlog = -1listen.allowed_clients = 127.0.0.1listen.owner = wwwlisten.group = wwwlisten.mode = 0666user = wwwgroup = wwwpm = dynamicpm.max_children = 10pm.start_servers = 2pm.min_spare_servers = 1pm.max_spare_servers = 6request_terminate_timeout = 100request_slowlog_timeout = 0slowlog = var/log/slow.log

システムサービスに追加する

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpmchmod +x /etc/init.d/php-fpmchkconfig --add php-fpm chkconfig php-fpm on

始める

 service  php-fpm start   


最後にphpinfoの写真を投稿します





OK 完了 php5.3.8 から php5.6.3 に正常にアップグレードされました




声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。