ホームページ > バックエンド開発 > PHPチュートリアル > unbutu php をアップグレードし、php 拡張プラグインをインストールします

unbutu php をアップグレードし、php 拡張プラグインをインストールします

WBOY
リリース: 2016-06-20 12:39:18
オリジナル
977 人が閲覧しました

ubuntu への php のアップグレードと php 拡張機能のインストール

言いたいこと:

運用保守のためですが、php のアップグレードと ubuntu の拡張機能のインストールは非常に困難です。拡張機能をインストールするのは簡単ですが、拡張プラグインを再度インストールするのがはるかに簡単になるように、アップグレード プロセスを完全に記録しました (各プラグインには wget ダウンロード アドレスがあり、これが私の本来の目的です)。各プラグインではなく、公式 Web サイトにアクセスしてダウンロード アドレスを見つけてください。

======================== さっそく始めましょう=========== = ==========

php 5.3.24 から 5.4.34 へのアップグレード
まず、php コンパイル パラメーターの元のバージョンを確認します:

root@develop:~# /usr/local/php/bin/php -i | grep configure./configure  '--prefix=/usr/local/php-5.3.24/' \'--with-config-file-path=/usr/local/php-5.3.24/etc' \'--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' \'--with-zlib' '--enable-xml' '--with-curl' '--with-curlwrappers' \'--enable-mbregex' '--enable-mbstring' '--with-openssl' \'--enable-sockets' '--enable-zip' '--disable-ipv6' \'--with-pear' \'--enable-fpm' \'--with-fpm-user=www' \'--with-fpm-group=www' \'--with-mysql=/usr/local/mysql' \'--with-mysqli=mysqlnd' \'--enable-soap' \'--with-pdo-mysql' \'--enable-pcntl' \'--with-gd' '--with-xmlrpc' '--with-iconv' '--with-mcrypt'
ログイン後にコピー


php をアップグレードする場合、php のコンパイル パラメータが同じである必要があることに注意してください。バージョン番号を提示し、ソフト リンクを使用してアクセスします。


アップグレードを開始します:

cd /usr/local/src/wget http://cn2.php.net/distributions/php-5.4.34.tar.gztar zxf php-5.4.34.tar.gzcd php-5.4.34./configure  '--prefix=/usr/local/php-5.4.34/' \'--with-config-file-path=/usr/local/php-5.4.34/etc' \'--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' \'--with-zlib' '--enable-xml' '--with-curl' '--with-curlwrappers' \'--enable-mbregex' '--enable-mbstring' '--with-openssl' \'--enable-sockets' '--enable-zip' '--disable-ipv6' \'--with-pear' \'--enable-fpm' \'--with-fpm-user=www' \'--with-fpm-group=www' \'--with-mysql=/usr/local/mysql' \'--with-mysqli=mysqlnd' \'--enable-soap' \'--with-pdo-mysql' \'--enable-pcntl' \'--with-gd' '--with-xmlrpc' '--with-iconv' '--with-mcrypt'make
ログイン後にコピー

メイクステップのエラーは次のとおりです:

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
ログイン後にコピー

解決策:参考:http://blog.csdn.net/sflsgfs/article/details/6318583
PHPをシステムにインストールする際に「libiconv_openへの未定義の参照」などのエラーメッセージが表示される場合は、「./configure」を意味します。 � いくつかの環境変数の値を把握します。 「-o sapi/cli/php」作成時にエラーが発生し、リンクするiconvライブラリパラメータが見つかりませんでした。

解決策: Makefile の 77 行目あたりを編集します: EXTRA_LIBS = ..... -lcrypt を編集し、最後に -liconv を追加します。
例: EXTRA_LIBS = 。 .... -lcrypt -liconv
次に、再度作成します。
アップグレードを続行します:

 make make install cd ..
ログイン後にコピー

コンパイルが完了すると、次のプロンプトが表示されます:
Wrote PEAR system config file at: /usr/local/php-5.4.34 /etc/pear.conf
php.ini include_path
/usr/local/src/php-5.4.34 に /usr/local/php-5.4.34/lib/php を追加するとよいでしょう。 /build/shtool install - c ext/phar/phar.phar /usr/local/php-5.4.34/bin
ln -s -f /usr/local/php-5.4.34/bin/phar.phar /usr/local/php -5.4.34/bin/phar
PDO ヘッダーのインストール: /usr/local/php-5.4.34/include/php/ext/pdo/

= ======= =============アップグレードが完了しました。php の設定を開始します======================== ====


1) ソースパッケージディレクトリ内の php.ini 参照ファイルを、インストールディレクトリの etc ディレクトリにコピーします

cp /usr/local/src/php-5.4.34/php.ini-production  /usr/local/php-5.4.34/etc/php.ini
ログイン後にコピー

php.ini パラメータを変更します (5.3.24 の既存の php.ini を参照)

2) 本番環境の php-fpm 構成ファイルを設定します

root@develop:/usr/local/php-5.4.34/etc# pwd/usr/local/php-5.4.34/etcroot@develop:/usr/local/php-5.4.34/etc# cp php-fpm.conf.default php-fpm1.conf
ログイン後にコピー

php-fpm1 を変更します。 conf (既存の 5.3.24 php-fpm1.conf を参照)


3) 設定が完了したら、ソフト接続を作成します

ln -s /usr/local/php-5.4.34/ /usr/local/php
ログイン後にコピー


4) 以前のバージョンにインストールされている php 拡張機能を確認し、新しいバージョンの php の拡​​張プラグインをインストールします


php古いバージョンにインストールされているインストール拡張機能は次のとおりです:

extension=redis.soextension=eaccelerator.so;extension=memcached.soextension=memcache.soextension=gearman.soextension=trie_filter.soextension=mongo.so
ログイン後にコピー
ログイン後にコピー

======================php 拡張機能のインストールを開始します= ===================

1 つの redis 拡張機能のインストール

cd /usr/local/src/wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gztar zxf 2.2.4.tar.gzcd phpredis-2.2.4//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmakemake installcd ..
ログイン後にコピー

チェック: ( redis.so の存在は、それが正しいことを意味します)

ll /usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/
ログイン後にコピー


php サポートの設定:

vim /usr/local/php/etc/php.ini     #修改扩展模块路径    extension_dir = "/usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/"    # 添加支持    extension="redis.so"
ログイン後にコピー

php と nginx を再起動します (最終的には均一に再起動します) )

2 eaccelerator プラグインをインストールします

cd /usr/local/src/wget https://codeload.github.com/eaccelerator/eaccelerator/legacy.tar.gz/mastertar zxf mastercd eaccelerator-eaccelerator-42067ac//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmakemake installcd ..echo 'include /usr/lib/php/modules/*.so' >>  /etc/ld.so.conf
ログイン後にコピー

/usr/local/php/ect/php.ini を変更し、次の構成を追加します:

[eaccelerator]zend_extension_ts="/usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/eaccelerator.so"eaccelerator.shm_size="32"eaccelerator.cache_dir="/tmp/eaccelerator"eaccelerator.enable="1"eaccelerator.optimizer="1"eaccelerator.check_mtime="1"eaccelerator.debug="0"eaccelerator.filter=""eaccelerator.shm_max="0"eaccelerator.shm_ttl="0"eaccelerator.shm_prune_period="0"eaccelerator.shm_only="0"eaccelerator.compress="1"eaccelerator.compress_level="9"
ログイン後にコピー

キャッシュディレクトリを作成します:

mkdir -p /tmp/eacceleratorchmod 777 /tmp/eaccelerator
ログイン後にコピー

(nginx php を再起動し、最後に均一に再起動します)


3 memcache.so 拡張機能をインストールします

cd /usr/local/src/wget http://pecl.php.net/get/memcache-2.2.7.tgztar zxf memcache-2.2.7.tgzcd memcache-2.2.7//usr/local/php/bin/phpize./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dirmakemake installcd ..
ログイン後にコピー

(nginx php を再起動し、最後に一律に再起動します)

4 gearman 拡張機能をインストールします

cd /usr/local/src/wget http://pecl.php.net/get/gearman-1.1.2.tgztar zxf gearman-1.1.2.tgz cd gearman-1.1.2//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmakemake installcd ..
ログイン後にコピー

(nginx php を再起動し、最後に均一に再起動します)


5 trie_filter 拡張機能をインストールします:
(このソフトウェアは、ネットワーク要因によりダウンロードするのが簡単ではありません)参考URL:http://www.codeweblog.com/-php-extension for detectsensitive Words/

cd /usr/local/src/mkdir trie_filtercd trie_filter/wget https://as3chat.googlecode.com/files/trie_filter-2011-03-21.tar.gztar zxf trie_filter-2011-03-21.tar.gz/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmakemake installcd ..
ログイン後にコピー

(nginx phpを再起動し、最後に一律再起動)


6 mongo 拡張機能のインストール

cd /usr/local/src/wget http://pecl.php.net/get/mongo-1.4.5.tgztar zxf mongo-1.4.5.tgzcd mongo-1.4.5//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-config makemake installcd ..
ログイン後にコピー

7 拡張機能のインストール完了チェック:

root@develop:/usr/local/src# ll /usr/local/php-5.4.34/lib/php/extensions/no-debug-non-zts-20100525/total 3380drwxr-xr-x 2 root root    4096 Jan 20 15:11 ./drwxr-xr-x 3 root root    4096 Jan 20 14:00 ../-rwxr-xr-x 1 root root  467380 Jan 20 14:13 eaccelerator.so*-rwxr-xr-x 1 root root  302505 Jan 20 14:39 gearman.so*-rwxr-xr-x 1 root root  265098 Jan 20 14:32 memcache.so*-rwxr-xr-x 1 root root 1445848 Jan 20 15:11 mongo.so*-rwxr-xr-x 1 root root  928238 Jan 20 14:00 redis.so*-rwxr-xr-x 1 root root   36722 Jan 20 14:54 trie_filter.so*
ログイン後にコピー

8インストールした拡張機能を php.ini に追加します

vim /usr/local/php/etc/php.ini
ログイン後にコピー


次の構成を追加します:

extension=redis.soextension=eaccelerator.so;extension=memcached.soextension=memcache.soextension=gearman.soextension=trie_filter.soextension=mongo.so
ログイン後にコピー
ログイン後にコピー

9 nginx と php を再起動します

10 phpinfo() を呼び出して、

アップグレードが完了したことを確認します。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート