ホームページ  >  記事  >  バックエンド開発  >  PHPに拡張機能をインストールする方法

PHPに拡張機能をインストールする方法

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-07-20 16:12:222822ブラウズ

WorkerMan は、PHP コマンド ライン PHP CLI に基づいて実行され、さまざまな PHP 実行可能プログラムを使用します。今日は、拡張機能のインストール方法について説明します。必要に応じて参照してください。

PHPに拡張機能をインストールする方法

拡張機能のインストール

注意

WorkerMan は、Apache PHP や Nginx PHP の実行モードとは異なります。 PHP コマンドラインに基づいて PHP CLI はさまざまな PHP 実行可能プログラムを使用して実行され、使用される php.ini ファイルも異なる場合があります。したがって、Web ページ上で phpinfo() を出力し、拡張機能がインストールされていることが確認されても、対応する拡張機能がコマンド ラインの PHP CLI にもインストールされていることを意味するわけではありません。

PHP CLI によってどの拡張機能がインストールされているかを確認する方法

php -m を実行すると、コマンド ライン PHP CLI によってインストールされた拡張機能がリストされます。結果は次のとおりです。次のようなものです:

~# php -m
[PHP Modules]
libevent
posix
pcntl
...

PHP CLI の php.ini ファイルの場所を確認する方法

拡張機能をインストールするときは、手動で設定する必要がある場合があります。 php.ini ファイルを開き、拡張子を追加するため、PHP CLI の php.ini ファイルの場所を確認する必要があります。 php --ini を実行して、PHP CLI の ini ファイルの場所を見つけることができます。結果は次のようになります (システムごとに表示される結果は異なります):

~# php --ini
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/apc.ini,
/etc/php5/cli/conf.d/libevent.ini,
/etc/php5/cli/conf.d/memcached.ini,
/etc/php5/cli/conf.d/mysql.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.ini
...

PHP CLI の拡張機能をインストールする(例として memcached 拡張機能をインストールします)

方法 1. apt または yum コマンドを使用してインストールします。

#PHP が apt または yum コマンドを通じてインストールされている場合、拡張機能はapt または yum

debian /ubuntu や、PHP 拡張メソッドをインストールするのに適したその他のシステム (root 以外のユーザーは sudo コマンドを追加する必要があります)

1. apt-cache 検索を使用して、拡張機能パッケージ

~# apt-cache search memcached php
php-apc - APC (Alternative PHP Cache) module for PHP 5
php5-memcached - memcached module for php5

2 を見つけます。 apt-get install を使用して、拡張機能パッケージ

~# apt-get install -y php5-memcached
Reading package lists... Done
Reading state information... Done
...

centos とその他のシステムをインストールします。 yum インストール PHP 拡張メソッド

1. yum 検索を使用します。拡張機能パッケージ

~# yum search memcached php
php-pecl-memcached - memcached module for php5

2 を見つけます。yum install を使用して拡張機能パッケージをインストールします

~# yum install -y php-pecl-memcached
Reading package lists... Done
Reading state information... Done
...

手順:

apt または yum を使用して PHP 拡張機能をインストールすると、 php.ini ファイルは、インストール後すぐに使用できるので非常に便利です。欠点は、一部の拡張機能には、apt または yum に対応する拡張機能インストール パッケージがないことです。

方法 2、pecl を使用してインストールする

pecl install コマンドを使用して拡張機能をインストールする

1、pecl install インストール

~# pecl install memcached
downloading memcached-2.2.0.tgz ...
Starting to download memcached-2.2.0.tgz (70,449 bytes)
....

2、php.ini の設定

php --ini を実行して php.ini ファイルの場所を見つけ、extension=memcached.so

方法 3. ソース コードを追加します。コンパイルとインストール (通常は PHP に付属する拡張機能をインストールします。pcntl 拡張機能のインストールを例にします)

1. php -v コマンドを使用して、現在の PHP CLI バージョンを確認します。

~# php -v
PHP 5.3.29-1~dotdeb.0 with Suhosin-Patch (cli) (built: Aug 14 2014 19:55:20)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies

2. バージョンに従ってダウンロード PHP ソース コード

PHP 履歴バージョン ダウンロード ページ: http://php.net/releases/

3. ソースを解凍します。コード圧縮パッケージ

たとえば、ダウンロードした圧縮パッケージの名前は php-5.3.29.tar.gz

~# tar -zxvf php-5.3.29.tar.gz
php-5.3.29/
php-5.3.29/README.WIN32-BUILD-SYSTEM
php-5.3.29/netware/
...

4 です。ソース コードに ext/pcntl ディレクトリを入力します

~# cd php-5.3.29/ext/pcntl/

5. phpize コマンドを実行します

~# phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

6. configure コマンドを実行します

~# ./configure
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
...

7. make コマンドを実行します

~# make
/bin/bash /tmp/php-5.3.29/ext/pcntl/libtool --mode=compile cc ...
-I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend...
...

8. make install を実行しますコマンド

~# make install
Installing shared extensions:     /usr/lib/php5/20090626/

9.ini ファイルを設定します。

php --ini php.ini ファイルの場所を実行して検索し、extension=pcntl.so

をファイルに追加します。説明: この方法は通常、posix 拡張機能や pcntl 拡張機能など、PHP に付属する拡張機能をインストールするために使用されます。 phpize を使用して拡張機能をコンパイルすることに加えて、PHP 全体を再コンパイルし、コンパイル中にパラメーターを使用して拡張機能を追加することもできます。たとえば、ソース コードのルート ディレクトリで

~# ./configure --enable-pcntl --enable-posix ...
~# make && make install

を実行します。方法 4。 phpize インストール

インストールする拡張機能が php ソース コードの ext ディレクトリにない場合は、http://pecl.php.net

# で拡張機能を検索してダウンロードする必要があります。 ## libevent 拡張機能のインストールを例に挙げます (システムに libevent がインストールされている -dev ライブラリがあると仮定します)

1. libevent 拡張ファイルの圧縮パッケージをダウンロードします (現在のディレクトリの任意のディレクトリにダウンロードできます) system)

~# wget http://pecl.php.net/get/libevent-0.1.0.tgz
--2015-05-26 21:43:40--  http://pecl.php.net/get/libevent-0.1.0.tgz
Resolving pecl.php.net... 104.236.228.160
Connecting to pecl.php.net|104.236.228.160|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9806 (9.6K) [application/octet-stream]
Saving to: “libevent-0.1.0.tgz”

100%[=======================================================>] 9,806       41.4K/s   in 0.2s

2. 展開されたファイル圧縮パッケージを解凍します

~# tar -zxvf libevent-0.1.0.tgz
package.xml
libevent-0.1.0/config.m4
libevent-0.1.0/CREDITS
libevent-0.1.0/libevent.c
....

3. ソース コード ディレクトリに入力します

~# cd libevent-0.1.0/

4. phpize コマンド

~# phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
## を実行します#5.configure コマンド

~# ./configure
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking whether the C compiler works... yes
...

を実行します。make コマンド

~# /bin/bash /data/test/libevent-0.1.0/libtool --mode=compile cc  -I. -I/data/test/libevent-0.1.0 -DPHP_ATOM_INC -I/data/test/libevent-0.1.0/include
...

7 を実行します。make install コマンド

#

~# make install
Installing shared extensions:     /usr/lib/php5/20090626/

8 を実行し、ini ファイルを設定します

php --ini を実行して php.ini ファイルの場所を見つけ、extension=libevent.so

推奨学習:

php ビデオ チュートリアル

以上がPHPに拡張機能をインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。