ホームページ >データベース >mysql チュートリアル >CentOS7 で php7.1 をデプロイし、MySQL 拡張機能を有効にする方法

CentOS7 で php7.1 をデプロイし、MySQL 拡張機能を有効にする方法

WBOY
WBOY転載
2023-05-28 15:01:061624ブラウズ

簡単なインストール (yum メソッド)

ソフトウェア ソースのインストール

epel ソースの追加

[root@opstrip.com opt]# rpm --import /etc/pki/rpm-gpg/rpm-gpg-key*
[root@opstrip.com opt]# rpm -uvh http://mirrors.rit.edu/fedora/epel//7/x86_64/e/epel-release-7-9.noarch.rpm

remi ソースの追加

[root@opstrip.com opt]# rpm -uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

ソフトウェアのインストールと更新

yum-config-manager ユーティリティのインストール

[root@opstrip.com opt]# yum -y install yum-utils

システムの現在のソフトウェア バージョンの更新

[root@opstrip.com opt]# yum -y update

更新 完了したら、必要な php バージョンをインストールできます。

phpのインストール

上記の準備が完了したら、必要なバージョンのphpをインストールします。

php5.4

[root@opstrip.com opt]# yum -y install php

インストール前に、yum search php54 を試して、インストール可能なソフトウェア パッケージを検索できます。

php7.0

[root@opstrip.com opt]# yum-config-manager --enable remi-php70
[root@opstrip.com opt]# yum -y install php php-opcache

インストール前に、yum search php70 を試して、インストール可能なソフトウェア パッケージを検索できます。

php7.1

[root@opstrip.com opt]# yum-config-manager --enable remi-php71
[root@opstrip.com opt]# yum -y install php php-opcache

インストール前に、yum search php71 を試して、インストール可能なソフトウェア パッケージを検索できます。

完了後、一般的な php 拡張機能を追加する必要があります:

[root@opstrip.com opt]# yum -y install php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel

For nginx

[root@opstrip.com opt]# yum -y install nginx nginx-mod-http-perl nginx-mod-stream nginx-filesystem nginx-mod-mail nginx-mod-http-image-filter nginx-all-modules nginx-mod-http-geoip nginx-mod-http-xslt-filter

やはり yum search nginxSearch for を試すことをお勧めします。インストール前にインストール可能なソフトウェアをバッグに入れておきます。

インストールが完了したら、php と nginx を設定して起動し、phpinfo ページをテストします。この時点では正常に表示されるはずです。

ソースコードのコンパイルとインストール

インストール前の準備

phpインストールパッケージのダウンロード

[root@opstrip.com opt]# wget -o php-7.1.5.tar.gz http://cn2.php.net/distributions/php-7.1.5.tar.gz

Unzip

[root@opstrip.com opt]# tar xf php-7.1.5.tar.gz

依存関係パッケージのインストール

[root@opstrip.com php-7.1.5]# yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

構成とインストール

コンパイル構成

[root@opstrip.com opt]# cd php-7.1.5
[root@opstrip.com php-7.1.5]# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache

詳細については、公式の PHP インストール手順ドキュメントを参照してください。

コンパイルしてインストールします

[root@opstrip.com php-7.1.5]# make && make install

環境変数を構成します:

#次の場所に

export path=$path:/usr/local/php/bin を追加します。 /etc/profile の末尾を指定して、source /etc/profile を実行します。有効になった後の php バージョンを確認します。

[root@opstrip.com php-7.1.5]# php -v
php 7.1.5 (cli) (built: may 31 2017 16:12:38) ( nts )
copyright (c) 1997-2017 the php group
zend engine v3.1.0, copyright (c) 1998-2017 zend technologies

インストール後の設定

設定 php-fpm


インストールが完了したら、

sapi/fpm/php-fpm.server から php-fpm を起動できます。ただし、将来の管理の便宜のために、通常は設定ファイルを /etc ディレクトリに配置し、php-fpm.server を systemctl サービスに追加する必要があります。次のように:

[root@opstrip.com php-7.1.5]# mkdir -p /etc/php-fpm.d
[root@opstrip.com php-7.1.5]# cp php.ini-production /etc/php.ini
[root@opstrip.com php-7.1.5]# cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/
[root@opstrip.com php-7.1.5]# cp sapi/fpm/www.conf /etc/php-fpm.d/

次に、正しいパスを実行するように /usr/lib/systemd/system/php-fpm.service ファイルを次のように変更します:

[root@opstrip.com php-7.1.5]# vi /usr/lib/systemd/system/php-fpm.service
# it's not recommended to modify this file in-place, because it
# will be overwritten during upgrades. if you want to customize,
# the best way is to use the "systemctl edit" command.
 
[unit]
description=the php fastcgi process manager
after=network.target
 
[service]
type=simple
pidfile=/var/run/php-fpm.pid
execstart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /etc/php-fpm.conf
execreload=/bin/kill -usr2 $mainpid
privatetmp=true
 
[install]
wantedby=multi-user.target

Start php-fpm


systemctl を通じて初めて php サービスを開始するときは、まず php-fpm サービスを有効にする必要があります:

[root@opstrip.com php-7.1.5]# systemctl enable php-fpm.service
[root@opstrip.com php-7.1.5]# systemctl start php-fpm.service

nginx をコンパイルしてインストールします

詳細を参照、必要に応じて nginx を設定して起動します。ここには書きません。

mysql 拡張機能を有効にする (コンパイルとインストールのみ)

php7 では mysql 拡張機能のサポートが完全に削除されたため (mysqli と mysqlnd に置き換えられました)、php をアップグレードした後、一部の古いソフトウェアバージョンを変更すると、未定義の mysql_connect() 関数と同様のエラーが報告されるため、通常は、新しい phpmysqli または pdo 拡張機能を使用して置き換えることをお勧めします。もちろん、mysql 拡張機能をサポートする php7 コードのレガシー バージョンをチェックアウトして、自分でコンパイルしてインストールすることもできますが、mysql 拡張機能にはその後の更新がまったくないことに注意してください。

インストール前の準備

現在の拡張機能を表示

現在の php7.1 組み込み拡張機能を表示:

[root@opstrip.com php-7.1.5]# ls ext
bcmath  dom     gd   json  oci8   pdo_firebird posix   skeleton sysvsem  xmlwriter
bz2   enchant    gettext  ldap  odbc   pdo_mysql  pspell  snmp  sysvshm  xsl
calendar  exif    gmp   libxml  opcache  pdo_oci   readline  soap  tidy   zip
com_dotnet ext_skel   hash   mbstring openssl  pdo_odbc  recode  sockets  tokenizer zlib
ctype   ext_skel_win32.php iconv  mcrypt  pcntl  pdo_pgsql  reflection spl   wddx
curl   fileinfo   imap   mysql  pcre   pdo_sqlite  session  sqlite3  xml
date   filter    interbase mysqli  pdo   pgsql   shmop   standard xmlreader
dba   ftp     intl   mysqlnd  pdo_dblib phar   simplexml  sysvmsg  xmlrpc

次のことがわかります。 mysql 拡張機能は確かに削除されているので、ext ディレクトリ内の古い php mysql 拡張機能コードを直接チェックアウトできます。

php mysql 拡張機能のソース コードを取得します

[root@opstrip.com ext]# git clone https://github.com/php/pecl-database-mysql mysql --recursive
cloning into 'mysql'...
remote: counting objects: 145, done.
remote: total 145 (delta 0), reused 0 (delta 0), pack-reused 145
receiving objects: 100% (145/145), 88.41 kib | 0 bytes/s, done.
resolving deltas: 100% (65/65), done.
checking connectivity... done.

mysql 拡張機能をコンパイルしてインストールします

phpize を使用してコンパイルします

[root@opstrip.com ext]# cd mysql
[root@opstrip.com mysql]# ls
config.m4 config.w32 credits license mysql.mak mysql_mysqlnd.h package.xml php_mysql.c php_mysql.h php_mysql_structs.h readme.md tests
[root@opstrip.com mysql]# /usr/local/php/bin/phpize
configuring for:
php api version:   20151012
zend module api no:  20151012
zend extension api no: 320151012
[root@opstrip.com mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config

インストール

[root@opstrip.com mysql]# make && make install
[root@opstrip.com mysql]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
mysql.so opcache.a opcache.so

インストールが完了したら、mysql 拡張機能が正しくインストールされているかどうかを確認する必要があります。


最後に php.ini 設定ファイルを変更して次の行を追加します:

extension = "mysql.so"

php-fpm サービスを再起動すると、phpinfo に mysql 拡張子が表示されます:


CentOS7 で php7.1 をデプロイし、MySQL 拡張機能を有効にする方法

以上がCentOS7 で php7.1 をデプロイし、MySQL 拡張機能を有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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