目次
phpユーザーとユーザーグループを作成します
php 7に必要な依存関係をコンパイルしてインストールします
PHP 7 のコンパイルパラメータの設定
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
ログイン後にコピー
" >
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
ログイン後にコピー
[root@localhost php-7.0.0]# echo -e '\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n' >> /etc/profile && source /etc/profile
ログイン後にコピー
" >
[root@localhost php-7.0.0]# echo -e '\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n' >> /etc/profile && source /etc/profile
ログイン後にコピー
ホームページ バックエンド開発 PHPチュートリアル CentOS7 上で PHP7 をコンパイルおよびインストールするためのサンプル コードの詳細な紹介 (写真)

CentOS7 上で PHP7 をコンパイルおよびインストールするためのサンプル コードの詳細な紹介 (写真)

Mar 28, 2017 pm 04:16 PM

phpユーザーとユーザーグループを作成します

まず、ログイン権限のないphpという名前のユーザーとphpという名前のユーザーグループを作成します

#######新建php用户和php组[root@localhost ~]
# groupadd -r php && useradd -r -g php -s /bin/false -d /usr/local/php7 -M php
ログイン後にコピー

php 7に必要な依存関係をコンパイルしてインストールします

libmcrypt、mhash、mcryptバイナリのソースコードパッケージをコンパイルしてインストールします
ここで libmcrypt をコンパイルしてインストールする理由は、yum のインストールでエラーが報告されるようだからです

######编译安装libmcrypt-2.5.7
[root@localhost ~]# tar zxvf libmcrypt-2.5.7.tar.gz
[root@localhost ~]# cd libmcrypt-2.5.7
[root@localhost libmcrypt-2.5.7]# ./configure --prefix=/usr/local/related/libmcrypt
[root@localhost libmcrypt-2.5.7]# make && make install
[root@localhost libmcrypt-2.5.7]# cd ~
[root@localhost ~]# rm -rf libmcrypt-2.5.7*
ログイン後にコピー
######编译安装mhash-0.9.9.9
[root@localhost ~]# tar zxf mhash-0.9.9.9.tar.gz 
[root@localhost ~]# cd mhash-0.9.9.9
[root@localhost mhash-0.9.9.9]# ./configure --prefix=/usr/local/related/mhash
[root@localhost mhash-0.9.9.9]# make && make install
[root@localhost mhash-0.9.9.9]# cd ~
[root@localhost ~]# rm -rf mhash-0.9.9.9*
ログイン後にコピー
rree
######编译安装mcrypt-2.6.8
[root@localhost ~]# tar zxf mcrypt-2.6.8.tar.gz && cd mcrypt-2.6.8
[root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/related/libmcrypt/lib:/usr/local/related/mhash/lib
[root@localhost mcrypt-2.6.8]# export LDFLAGS="-L/usr/local/related/mhash/lib -I/usr/local/related/mhash/include/"
[root@localhost mcrypt-2.6.8]# export CFLAGS="-I/usr/local/related/mhash/include/"
[root@localhost mcrypt-2.6.8]# ./configure --prefix=/usr/local/related/mcrypt --with-libmcrypt-prefix=/usr/local/related/libmcrypt
[root@localhost mcrypt-2.6.8]# make && make install
[root@localhost mcrypt-2.6.8]# cd ~
[root@localhost ~]# rm -rf mcrypt-2.6.8*
ログイン後にコピー

PHP 7 のコンパイルパラメータの設定

注意、操作する際には、バックスラッシュ "" の後にコメントを追加する必要があります。以下 テキストを削除してください。 ! !

######其他依赖yum安装[root@localhost ~]
# yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel
ログイン後にコピー

上記の設定コマンドを実行した結果は次のとおりです: php 7配置结果

PHP 7のコンパイルとインストールを開始します

######生成配置文件
[root@localhost ~]# tar -zxf php-7.0.0.tar.gz && cd php-7.0.0
[root@localhost php-7.0.0]# ./buildconf --force
Forcing buildconf
Removing configure caches
buildconf: checking installation...
buildconf: autoconf version 2.69 (ok)
rebuilding configure
rebuilding main/php_config.h.in
######开始配置

[root@localhost php-7.0.0]# ./configure \
--prefix=/usr/local/php7 \                              [PHP7安装的根目录]
--exec-prefix=/usr/local/php7 \
--bindir=/usr/local/php7/bin \
--sbindir=/usr/local/php7/sbin \
--includedir=/usr/local/php7/include \
--libdir=/usr/local/php7/lib/php \
--mandir=/usr/local/php7/php/man \
--with-config-file-path=/usr/local/php7/etc \           [PHP7的配置目录]
--with-mysql-sock=/var/run/mysql/mysql.sock \           [PHP7的Unix socket通信文件]
--with-mcrypt=/usr/include \
--with-mhash \
--with-openssl \
--with-mysql=shared,mysqlnd \                           [PHP7依赖mysql库]              
--with-mysqli=shared,mysqlnd \                          [PHP7依赖mysql库]
--with-pdo-mysql=shared,mysqlnd \                       [PHP7依赖mysql库]
--with-gd \
--with-iconv \
--with-zlib \
--enable-zip \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \                                      [允许php会话session]
--with-curl \                                           [允许curl扩展]
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache \                                      [使用opcache缓存]
--enable-fpm \
--enable-fastcgi \
--with-fpm-user=nginx \                                 [php-fpm的用户]
--with-fpm-group=nginx \                                [php-fpm的用户组]
--without-gdbm \
--with-mcrypt=/usr/local/related/libmcrypt \            [指定libmcrypt位置]
--disable-fileinfo
ログイン後にコピー

PHP 7は正常にコンパイルおよびインストールされましたPHP 7编译安装成功

オプションの手順: テストのためにmake testコマンドを実行します

これは重要ではない手順です。コンパイルが成功した後に make test コマンドを実行して

PHP 7 test

コンパイルが成功した後に PHP7 インストール ディレクトリを表示します

MySQL と通信する必要があるため、特に lib 拡張ライブラリ ディレクトリを確認する必要がありますPHP7 のインストール後 (/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/)。以下の図に示すように、少なくとも 2 つのダイナミック ライブラリ ファイル mysqli.so と pdo_mysql.so が存在することを確認する必要があります。

[root@localhost php-7.0.0]# make clean && make && make install
ログイン後にコピー
php 7 目录

PHP7 設定ファイル php.ini、php-fpm.conf、www.conf および php-fpm スクリプトのセットアップを開始します

コンパイルされた設定ファイルを PHP7 設定ディレクトリ (/usr/local) にコピーできます/php7/etc/) の場合は、github の設定を使用することをお勧めします。この設定は、「PHP7 の php.ini、php-fpm、および www.conf の設定」から取得しています

[root@localhost php-7.0.0]# ls -lrt /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/
ログイン後にコピー
注: php.ini 設定のパラメータを変更し、extension_dir を独自のものに変更する必要があります

#######方法一:直接使用编译后未经优化处理的配置
[root@localhost php-7.0.0]# cp php.ini-production /usr/local/php7/etc/php.ini
[root@localhost php-7.0.0]# cp /root/php-7.0.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@localhost php-7.0.0]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
[root@localhost php-7.0.0]# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

#######方法二:使用https://github.com/lizer2014/mylnmp/tree/master/PHP文中的配置 
[root@localhost php-7.0.0]# mv ~/php.ini /usr/local/php7/etc/php.ini && mv ~/php-fpm /etc/init.d/php-fpm
[root@localhost php-7.0.0]# mv ~/php-fpm.conf /usr/local/php7/etc/php-fpm.conf && mv ~/www.conf /usr/local/php7/etc/php-fpm.d/www.conf
ログイン後にコピー

これは /etc/ にあります。 init.d/php-fpm では、start 関数のデーモンプロセスの前に make /var/run/php-fpm コマンドが必要です。そうしないと、サーバーを再起動すると起動が失敗します。この問題はnginxの設定でも発生します

phpの環境変数を追加

extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
ログイン後にコピー

PHPログディレクトリとphp-fpmプロセスファイル(php-fpm.sock)ディレクトリを設定

その内、ユーザーとユーザーを設定php-fpmプロセスディレクトリのグループをnginxにコピーし、phpセッションセッションディレクトリを作成します

[root@localhost php-7.0.0]# echo -e '\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n' >> /etc/profile && source /etc/profile
ログイン後にコピー

PHPの起動を設定します

#######设置PHP日志目录和php-fpm的运行进程ID文件(php-fpm.sock)目录
[root@localhost php-7.0.0]
# groupadd -r nginx && useradd -r -g nginx -s /bin/false -M nginx
[root@localhost php-7.0.0]
# mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpm
#######修改session的目录配置
[root@localhost run]# mkdir -p /var/lib/php/session
[root@localhost run]
# chown -R nginx:nginx /var/lib/php
ログイン後にコピー

設定ファイルが正しいかどうかをテストします

######配置开机自启动,增加到主机sysV服务
[root@localhost run]# chmod +x /etc/init.d/php-fpm
[root@localhost run]# chkconfig --add php-fpm
[root@localhost run]# chkconfig php-fpm on
######测试PHP的配置文件是否正确合法
[root@localhost run]# php-fpm -t
[05-Dec-2015 17:33:03] NOTICE: configuration file /usr/local/php7/etc/php-fpm.conf test is successful
ログイン後にコピー

phpサービスを開始します

上記の操作が完了すると、 phpサービスを正式に使用します。 php プロセス サービスを開始するコマンドは次のとおりです:

[root@localhost init.d]# service php-fpm startStarting php-fpm  done
ログイン後にコピー
PHP 7 ps -aux 次に、コマンド ps -aux|grep php を使用して、成功したかどうかを確認できます (図内の php-fpm プロセスの数とプロセス ユーザー nginx は両方とも) www.conf の pm.start_servers と user の値はそれぞれ決定されます):

PHP7 のバージョン情報を表示する

PHP 7 version最後に、コマンド php -v を使用して現在の PHP バージョン情報を表示できます。図では、php で zend_extension=opcache.so 設定が ini ファイルに追加されているため、現在の PHP7 も Zend OPcache キャッシュを使用しています。

関連記事:

Macはデフォルトで独自にインストールされたphpを使用します

centos6.7 php7のインストールの詳細な紹介

🎜Linuxでのphp環境のインストールと構成を詳しく紹介しますNginx が php-fpm モジュールをサポートするようになりました (画像とテキスト)🎜🎜

以上がCentOS7 上で PHP7 をコンパイルおよびインストールするためのサンプル コードの詳細な紹介 (写真)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CentOS7 各種バージョンイメージのダウンロードアドレスとバージョン説明(Everythingバージョン含む) CentOS7 各種バージョンイメージのダウンロードアドレスとバージョン説明(Everythingバージョン含む) Feb 29, 2024 am 09:20 AM

CentOS-7.0-1406 をロードする場合、オプションのバージョンが多数あり、一般ユーザーにとってはどれを選択すればよいか分かりませんが、簡単に紹介すると、 (1) CentOS-xxxx-LiveCD.ios と CentOS-xxxx- -DVD.iso はどう違いますか?前者は700Mしかなく、後者は3.8Gです。違いはサイズだけではありませんが、より本質的な違いは、CentOS-xxxx-LiveCD.ios はメモリにロードして実行することしかできず、インストールできないことです。ハードディスクには CentOS-xxx-bin-DVD1.iso のみインストールできます。 (2) CentOS-xxx-bin-DVD1.iso、Ce

CentOS 7 緊急修復モードに入る手順 CentOS 7 緊急修復モードに入る手順 Jan 13, 2024 am 09:36 AM

centos7 ページを開くと、「緊急モードへようこそ!」が表示されます。ログイン後、「journalctl -xb」と入力してシス​​テムログを表示し、「systemctlreboot」と入力して再起動し、「systemctldefault」と入力してデフォルトモードで再起動します。 giverootpasswordformaintenance(??Control-D???): 解決策: r を実行します。

CentOS 7 の /tmp ディレクトリにあるジャンク ファイルにアクセスしてクリーンアップする方法は? CentOS 7 の /tmp ディレクトリにあるジャンク ファイルにアクセスしてクリーンアップする方法は? Dec 27, 2023 pm 09:10 PM

centos7システムのtmpディレクトリにゴミが大量にあるのですが、ゴミを削除したい場合はどうすればよいでしょうか?以下の詳細なチュートリアルを見てみましょう。 tmp ファイル ディレクトリ内のファイルのリストを表示するには、コマンド cdtmp/ を実行して tmp の現在のファイル ディレクトリに切り替え、ll コマンドを実行して現在のディレクトリ内のファイルのリストを表示します。以下に示すように。ファイルを削除するには、rm コマンドを使用します。rm コマンドはファイルをシステムから永久に削除することに注意してください。したがって、rm コマンドを使用するときは、ファイルを削除する前にプロンプ​​トを表示することをお勧めします。コマンド rm-i file name を使用し、ユーザーが削除を確認する (y) か削除をスキップする (n) まで待つと、システムは対応する操作を実行します。以下に示すように。

centos7 でパスワード ルールを設定する方法 centos7 でパスワード ルールを設定する方法 centos7 でパスワード ルールを設定する方法 centos7 でパスワード ルールを設定する方法 Jan 07, 2024 pm 01:17 PM

セキュリティ上の理由からパスワード ルールを設定する パスワードの有効期限が切れるまでの日数を設定します。ユーザーは数日以内にパスワードを変更する必要があります。この設定は、作成されたユーザーにのみ影響し、既存のユーザーには影響しません。既存のユーザーに設定する場合は、「chage -M (日) (ユーザー)」コマンドを実行します。 PASS_MAX_DAYS60#パスワードの有効期限 PASS_MIN_DAYS3#初期パスワード変更時間 PASS_MIN_LEN8#パスワードの最小長 PASS_WARN_AGE7#パスワード有効期限のプロンプト時間 パスワードの繰り返し制限の使用 [root@linuxprobe~]#vi/etc/pam.d/system-auth#nearline15:

CENTOS7でmbstring拡張機能をインストールするにはどうすればよいですか? CENTOS7でmbstring拡張機能をインストールするにはどうすればよいですか? Jan 06, 2024 pm 09:59 PM

1.UncaughtError:Calltoundependentfunctionmb_strlen(); 上記のエラーが発生した場合、mbstring 拡張機能がインストールされていないことを意味します; 2. PHP インストール ディレクトリ cd/temp001/php-7.1.0/ext/mbstring に入ります 3. phpize( /usr/local/bin /phpize または /usr/local/php7-abel001/bin/phpize) コマンドを使用して、php 拡張機能 4../configure--with-php-config=/usr/local/php7-abel をインストールします。

centos7でのファイル解凍コマンド(zip)の詳細説明 centos7でのファイル解凍コマンド(zip)の詳細説明 Jan 07, 2024 pm 06:30 PM

1. 圧縮フォルダーは zip ファイルです [root@cgls]#zip-rmydata.zipmydata2。mydata.zip を mydatabak ディレクトリに解凍します [root@cgls]#unzipmydata.zip-dmydatabak3.mydata01 フォルダーと mydata02.txt が圧縮されます。 mydata.zip[root@cgls]#zipmydata.zipmydata01mydata02.txt4. mydata.zip ファイルを直接解凍します [root@cgls]#unzipmydata.zip5. myd を表示します。

CentOS7のデフォルトのショートカットキーを変更・設定するにはどうすればいいですか? CentOS7のデフォルトのショートカットキーを変更・設定するにはどうすればいいですか? Jan 09, 2024 pm 06:14 PM

デフォルトのショートカット キーが使用しているソフトウェアのキーと競合する場合、または自分の習慣に従ってショートカット キーを使用する必要がある場合は、デフォルトのショートカット キーを変更して設定する必要があります。以下の詳細なチュートリアルを見てみましょう。 1. 仮想マシンで Centos7 システムを起動し、デスクトップに入ります。 2. 左上隅にある [アプリケーション] -> [システム ツール] -> [設定] をクリックします。 3. 設定インターフェイスに入り、デバイスをクリックします。 4. [キーボード] を選択し、任意のボタンをクリックします。 5. 変更後、下図のように、最後に「設定」をクリックすると、ショートカットキーの設定が反映されます。修正が完了しました。

php7.0 にプラグインがインストールされているのに、まだインストールされていないと表示される場合はどうすればよいですか? php7.0 にプラグインがインストールされているのに、まだインストールされていないと表示される場合はどうすればよいですか? Apr 02, 2024 pm 07:39 PM

PHP 7.0 でインストールされているプラ​​グインが表示されない問題を解決するには: プラグインの設定を確認し、プラグインを有効にします。 PHP を再起動して、構成の変更を適用します。プラグイン ファイルの権限をチェックして、それらが正しいことを確認します。不足している依存関係をインストールして、プラグインが適切に機能することを確認します。他のすべての手順が失敗した場合は、PHP を再構築します。他に考えられる原因としては、プラグインのバージョンに互換性がない、間違ったバージョンをロードしている、PHP 構成の問題などが挙げられます。

See all articles