ホームページ > バックエンド開発 > PHPチュートリアル > Debian は一部の PHP 拡張機能 geoip、mongo、redis、libevent、proctitle、inotify、pcntl のインストールを停止します

Debian は一部の PHP 拡張機能 geoip、mongo、redis、libevent、proctitle、inotify、pcntl のインストールを停止します

WBOY
リリース: 2016-06-13 12:35:32
オリジナル
1227 人が閲覧しました

Debian に PHP の拡張機能をインストールします: geoip、mongo、redis、libevent、proctitle、inotify、pcntl

プロジェクトのため、いくつかの新しい拡張機能をインストールする必要があります

debian xfce 7.2 x86 以下の 3 つは apt-get でインストールされます。

PHP 5.4.4-14+deb7u5 (cli)

nginx1.2.1

apache 2.2.22

1: デフォルトの方法 (最適) でインストールします。一般的に使用されるもののほとんどは Debian ウェアハウスにあり、 にダウンロードできます。 # は root を表します。su を使用して root に入り、パスワード

を入力することができます。

#apt-get install php5-geoip
#apt-get install php-apc
#apt-get install libevent-dev
ログイン後にコピー

2: pecl を介してインストールする (2 番目)

#pecl install mongo
#pecl install channel://pecl.php.net/libevent-0.1.0
#pecl install channel://pecl.php.net/proctitle-0.1.2
#pecl install inotify
ログイン後にコピー


pecl をインストールした後、いくつかの作業を行う必要があります。1 つは、対応する so ファイルを対応する ini に追加すること、もう 1 つは、ini を conf.d にリンクすることです。

たとえば、pecl の後の上記 3 つの拡張機能

debian で

/usr/lib/php5/20100525/mongo.so
/usr/lib/php5/20100525/libevent.so
/usr/lib/php5/20100525/proctitle.so
/usr/lib/php5/20100525/inotify.so
ログイン後にコピー

php5 は /etc/php5 で以下のシェル命名を実行します。これは、Debian の php の php.ini が設定ファイルを /etc/php5/conf.d に配布するためです。 /etc/php5/mods-available/ より debian パッケージの厳密性を確保するために、conf.d に直接アクセスして対応する .ini ファイルを作成する代わりに、ここに 2 つのリンクを作成します。


#echo "extension=mongo.so" > /etc/php5/mods-available/mongo.ini
#echo "extension=libevent.so" > /etc/php5/mods-available/libevent.ini
#echo "extension=proctitle.so" > /etc/php5/mods-available/proctitle.ini
#echo "extension=inotify.so" > /etc/php5/mods-available/inotify.ini
#ln -s /etc/php5/mods-available/mongo.ini /etc/php5/conf.d/mongo.ini
#ln -s /etc/php5/mods-available/libevent.ini /etc/php5/conf.d/libevent.ini
#ln -s /etc/php5/mods-available/proctitle.ini /etc/php5/conf.d/proctitle.ini
#ln -s /etc/php5/mods-available/inotify.ini /etc/php5/conf.d/inotify.ini
ログイン後にコピー

nginx の php5-fcgi または apache を再起動すると、これらのモジュールが正常にロードされたことがわかります。

3: 拡張ソース コードを使用してインストールします (コンパイルしてインストールします。ウェアハウスに php-redis 拡張機能がインストールされていない場合は、Debian には推奨されません)。

(redis サーバーは自分でインストールする必要があります。gcc などのコンパイル環境やソフトウェアについては、以前の記事を参照してインストールしてください

#wget https://redis.googlecode.com/files/redis-2.6.14.tar.gz
#tar -zxvf redis
#make
ログイン後にコピー

)

#tar -zxvf nicolasff-phpredis-2.1.3-124-gd4ad907.tar.gz
#cd nicolasff-phpredis-00233a3
#phpize
#./configure --with-php-config=/usr/bin/php-config
#echo "extension=redis.so" > /etc/php5/mods-available/redis.ini
#ln -s /etc/php5/mods-available/redis.ini /etc/php5/conf.d/redis.ini
ログイン後にコピー

上記と同様に、サーバーを再起動する必要があります


4: PHP ソース コードを通じてインストールします (デフォルトでインストールされているが PHP によってオフになっているいくつかの拡張機能を切り替えます。ここでは PCNTL を有効にします)

#mkdir php
#cd php
#apt-get source php5
ログイン後にコピー
ここでは、php5-(バージョン番号)/ext/pcntl に進みます。

#cd php5-5.4.4/ext/pcntl
#phpize
#./configure
#make
#echo "extension=pcntl.so" > /etc/php5/mods-available/pcntl.ini
#ln -s /etc/php5/mods-available/pcntl.ini /etc/php5/conf.d/pcntl.ini
ログイン後にコピー

上記と同様、サーバーを再起動するだけです


php がエラーを報告した場合、

PHP 警告: モジュール「pcntl」は行 0 の不明な場所に既にロードされています

これは繰り返しインストールされていることを意味します。上で追加した 2 つの pcntl.ini ファイルを削除する必要があります。 次に、php.ini ファイルの

に移動します。

disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_ディスパッチ、pcntl_get_last_error、pcntl_strerror、pcntl_sigprocmask、pcntl_sigwaitinfo、pcntl_sigtimedwait、pcntl_exec、pcntl_getpriority、 pcntl_setpriority 、

を追加します。コメントアウトします。 php.ini は、apache2 と nginx で異なることに注意してください。apache2 の場合は、/etc/php5/apache2/php.ini にあります。nginx の場合は、cgi に /etc/php5/cgi/php を指定しました。イニ

使用するサーバーによって異なりますが、どのサーバーをコメントアウトしてください

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