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
#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 の後の上記 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
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
上記と同様に、サーバーを再起動する必要があります
#mkdir php #cd php #apt-get source php5
#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 警告: モジュール「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 を指定しました。イニ
使用するサーバーによって異なりますが、どのサーバーをコメントアウトしてください