web-dev-qa-db-ja.com

PHPのPCNTLモジュールを再コンパイルせずにインストールする

Phpを再コンパイルせずに pcntl モジュールをインストールすることは可能ですか?私はこれをCentOSでセットアップしようとしています。

8
Shiki

yumコマンドでモジュールを見つけようとしますyum search pcntl

2
RusAlex

パッケージマネージャーを介してそれを純粋に動作させることはできません。追加のリポジトリをセットアップした後でも、yum search pcntlは一致を検出しません。

PHP完全に再インストールせずに機能する1つの方法を見つけましたが、最終的にtinyビットが必要になりますre-compilation。見つかった投稿 here は、pcntl拡張のみをコンパイルして有効にする(投稿を少し編集して再フォーマットする)少し簡単な方法に言及しています。

Get your current php version (check phpinfo())
Get the sources for that version here: http://www.php.net/releases/
Extract this file; you will got folder name like php5-x.x.x
Run following lines in terminal:

cd php5-x.x.x/ext/pcntl
phpize
./configure
make
cp modules/pcntl.so /usr/lib/php/modules/
echo "extension=pcntl.so" > /etc/php.d/pcntl.ini
restart Apache

Note: if your /usr/lib/php/modules/ or /etc/php.d/ is not same
as this, you could try 'locate php/modules' or 'locate php.d'
8
Doug Kavendek

Pcntlモジュールはphp-cliパッケージ。yumで次のコマンドを使用してインストールできます。

Sudo yum install php php-cli
5
Nino Tokuda

この拡張機能が有効になっているかどうかを確認してください。

php -m

または

php-fpm -m

存在しない場合は、ビルド時に有効にするか、拡張機能としてビルドする必要があります。

既存のPHPバージョンレポジトリを http://www.php.net/releases/ からダウンロードします(これは、どこにダウンロードして展開する必要があるかは関係ありません。ローカルマシンにダウンロードするか、ext/pcntlをサーバーのどこかにコピーするだけです)

ダウンロードしたフォルダを抽出します(例:/home/downloads/PHP_5.x.x/)

cd /home/downloads/PHP_5.x.x/ext/pcntl
phpize
./configure
make
cp modules/pcntl.so /usr/local/lib/php/extensions/

[*このパスは、PHPインストール/構成によって異なります。PHP php.iniの拡張パスまたはecho phpinfo();で確認できます)]

echo "extension=pcntl.so" > /usr/local/lib/php.ini 

または、php.iniに「extension = pcntl.so」という行を追加します

vim /usr/lib/php.ini

[*再度、PHPインストールに依存します。php.iniパスは、locate php.iniまたはecho phpinfo();で見つけることができます]]

0
Sadee