CentOS では、PHP には、パッケージ管理スタイルの yum インストール、pecl インストール、ソース コードのコンパイルとインストールなど、拡張機能をインストールするための複数の方法があります。
パッケージ管理形式のインストールとアンインストールは特に便利ですが、ソース コード コンパイル形式のインストールではパラメータの調整が容易になります。
一般に、時間を節約するためにローカル開発環境を構築するには、パッケージ管理によるインストールをお勧めします。オンライン展開環境の場合は、チューニングを容易にするためにコンパイルとインストールを行うことをお勧めします。
この記事では、例として MongoDB 拡張機能のインストールを使用します。
ツール
PHP バージョン: 7.0.17
Nginx: 1.10.2
VMware バージョン番号: 12.0.0
CentOS バージョン: 7.0
1. yum のインストール
## yum メソッドは、拡張された .so ダイナミック ライブラリを自動的にインストールし、php.ini を構成できます 注: 対応する拡張機能が yum ソースにあることを確認してください。インストールが完了したら、サーバー Nginx または Apache を再起動します。ブラウザでindex.phpファイルを開き、phpinfo情報を出力し、MongoDB情報があればインストール成功です[root@localhost ~]# yum search mongodb|grep php # 搜索 yum 源里面 MongoDB 拓展 [root@localhost ~]# yum -y install php70w-pecl-mongo # 安装 PHP 对应版本的 MongoDB 扩展 [root@localhost ~]# systemctl restart nginx # 重新启动 Nginx
#2.peclインストール
公式ドキュメント: https://www.php.net/manual/zh/mongodb.installation.pecl.php[root@localhost ~]# pecl install mongodb-bash: pecl: コマンドが見つかりません 直接入力してくださいpecl install mongodb を実行すると、pecl がインストールされていないことを示すエラーが報告されます。pecl
[root@localhost ~]# yum -y install php70w-pear [root@localhost ~]# pecl install mongodb configure: error: Cannot find OpenSSL's <evp.h> ERROR: `/var/tmp/mongodb/configure --with-php-config=/usr/bin/php-config' failedをインストールすると、このステップでエラーが報告されます。openssl をインストールする必要があります。インストールが完了したら、最後に失敗したコマンドの実行を継続します
[root@localhost ~]# yum -y install openssl openssl-devel [root@localhost ~]# pecl install mongodb [root@localhost ~]# systemctl restart nginx # 重新启动 Nginxインストールが完了したら、PHP 構成ファイル php.ini
に MongoDB 拡張機能をロードします。 #インストールが完了したら、サーバー Nginx または Apache を再起動します。
ブラウザ アクセス インデックス .php ファイル、phpinfo 情報を出力します。MongoDB 情報があれば、インストールは成功です
3. ソース コードのコンパイルとインストール
ソース コード コンパイル パッケージのダウンロード リスト: https://pecl.php.net/packages.php
Mongodbパッケージのダウンロード アドレス: https://pecl.php.net/package/mongodb
[root@localhost ~]# wget http://pecl.php.net/get/mongodb-1.2.8.tgz #下载源码包 [root@localhost ~]# tar zxf mongodb-1.2.8.tgz #解压 [root@localhost ~]# cd mongodb-1.2.8 # 可能是 /usr/local/php/bin/phpize 找到自己的 phpize 文件,php-config 同理 [root@localhost mongodb-1.2.8]# /usr/bin/phpize Configuring for: PHP Api Version: 20151012 Zend Module Api No: 20151012 Zend Extension Api No: 320151012 [root@localhost mongodb-1.2.8]# ./configure --with-php-config=/usr/bin/php-config configure: error: Cannot find OpenSSL's <evp.h>
このステップでは、また見覚えがあるように感じます。また見覚えがあるように感じます。openssl をインストールする必要があります。インストールが完了したら、続行してください。前回正常に実行されなかったコマンドを実行するには
##[root@localhost mongodb-1.2.8]# yum -y install openssl openssl-devel [root@localhost mongodb-1.2.8]# ./configure --with-php-config=/usr/bin/php-config # 确保自己安装了 gcc gcc++ 如果没有安装 yum -y install gcc gcc++ [root@localhost mongodb-1.2.8]# make && make install # 编译
手順: php-config は単純なコマンドライン スクリプトであり、インストールされている PHP 構成に関する情報を取得するために使用されます。
拡張機能をコンパイルするときに、複数の PHP バージョンがインストールされている場合は、構成中に --with-php-config オプションを使用して、コンパイルに使用するバージョンを指定できます。このオプションは、対応する php-config を指定します。スクリプトへのパス。 以下に示すように、コンパイルは成功します。この時点で、MongoDB 拡張機能を PHP 構成ファイル php.ini
にロードします。サーバーのNginxまたはApacheを再起動します
ブラウザがindex.phpファイルにアクセスしてphpinfo情報を出力し、MongoDBの情報があればインストール成功です[root@localhost mongodb-1.2.8]# systemctl restart nginx # 重新启动 Nginx
概要:
pecl インストールとソース コードのコンパイルおよびインストールの違いは、パラメータ調整には後者の方が便利であるということです。
Mongo 拡張機能を選択する場合、公式は mongo と mongodb の 2 つのタイプを提供します。最初のタイプ: https://pecl.php.net/package/mongoSecond : https://pecl.php.net/package/mongodb最初の公式ヒント: このパッケージは置き換えられましたが、バグとセキュリティ修正のためにまだ維持されていますが、放棄されました。ただし、バグとセキュリティの問題があります。は今後も修正される予定で、PHP7 はサポートされません。推奨事項:
PHP バージョンが 5.x の場合は、mongo 拡張機能を使用することをお勧めします。
PHP バージョンが 7 の場合。 x の場合は、mongodb 拡張機能を使用することをお勧めしますPHP5.x では mongodb 拡張機能を使用できます。ただし、PHP7.x では mongo 拡張機能を使用できません。最後に記載:
独学で学習している場合は、インストール中に不足しているエラーが表示されるため、yum でインストールすることをお勧めします。さまざまな依存関係。
PHP 関連の知識の詳細については、PHP チュートリアル
をご覧ください。以上がCentOS での 3 つの PHP 拡張機能のインストール方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。