ホームページ バックエンド開発 PHP7 CentOS に PHP7 をインストールする正しい方法

CentOS に PHP7 をインストールする正しい方法

Jun 24, 2020 pm 05:58 PM
centos php7

CentOS に PHP7 をインストールする正しい方法

CentOS の PHP バージョンは非常に古いため、一部の要件を満たすことができません。フレームワーク。PHP バージョンが必要です。その結果、EPEL、RPM Fusion、Remi など、新しいバージョンの PHP を提供する多くのサードパーティ ソフトウェア ライブラリが登場しました。私たちのシステムを時代に合わせて進めましょう。

ただし、サードパーティのソフトウェア ライブラリにはいくつかの欠点があります: まず、サードパーティのソフトウェア ライブラリは CentOS によって正式にテストされておらず、ソフトウェアをインストールするときにシステムの一部のコア ファイルが置き換えられ、システムが不安定になる可能性があります。 。第 2 に、サードパーティのライブラリによってインストールされるソフトウェアは互換性を保証していない可能性があり、システムをアップグレードすると特定のソフトウェアが使用できなくなる可能性があります。

したがって、この記事では、SCL (Software Collections) ソフトウェア ライブラリを使用して、上位バージョンの PHP をインストールすることをお勧めします。 SCL は CentOS の公式ソフトウェア ライブラリに属しており、十分にテストされており、ソフトウェアのインストール時にシステムのコア ファイルを置き換えないため、システムの安定性が保証されます。

SCL のインストールは非常に簡単で、コマンド 1 つだけで十分です:

[root@localhost]# yum install centos-release-scl-rh

その後、yum で新しいバージョンの PHP を検索できます:

[root@localhost]# yum search php...php54-runtime.x86_64
php55-runtime.x86_64
rh-php56-runtime.x86_64
rh-php70-runtime.x86_64...

rh- 接頭辞は RedHat を意味し、これがサードパーティのライブラリによって提供されるものではなく、提供される公式の PHP であることを示します。著者は、このプレフィックス仕様が策定されたのは 2015 年頃で、PHP5.4 および 5.5 はその前にリリースされたと推測しています。プログラムがハングします)、rh- 接頭辞がありません。

次に、PHP7.0 をインストールします。

[root@localhost]# yum install rh-php70

インストール後、PHP は実際に /opt/rh ディレクトリにインストールされます。

この時点で php コマンドを実行すると、システムは引き続き「コマンドが見つかりません」というメッセージを表示します。これは、SCL のスタイルがソフトウェアによるシステムへの影響を最小限に抑えるためであり、PHP をインストールした後でも、php コマンドは

$PATH 変数に追加されないため、ソフトウェアを直接実行することはできません。 . コマンドの。 scl enable コマンドを使用して実行を表示する必要があります:

まず、SCL によってどのようなソフトウェアがインストールされているかを確認します:

[root@localhost]# scl -lrh-php70

rh がインストールされていることがわかります。システム内の -php70 まず、これを有効にしてコマンドを実行します:

[root@localhost]# scl enable rh-php70 "php -v"PHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )Copyright (c) 1997-2016 The PHP GroupZend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

コマンドは正常に実行されました。このようにすべてのコマンドを実行しなければならないのは非常に面倒です。問題はありません。毎回 1 つのコマンドを実行する必要はありませんが、

bash コマンドを直接実行すると、新しく開かれたシェルが自動的に php:

[root@localhost]# scl enable rh-php70 bash[root@localhost]# php -vPHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

[root@localhost ~]# php -m[PHP Modules]
bz2
calendar...

SCL を認識します。

scl enable この管理ソフトウェアの方法は使用に少し手間がかかりますが、システムの安定性は絶対に保証されます。これを行うことにはもう 1 つの利点があります。それは、複数の PHP バージョンが互いに競合することなくシステム上で共存できることです。さまざまなバージョンの PHP でコードまたはフレームワークの互換性をテストすると便利です。

つまり、厳密な運用とメンテナンスを行う場合は、この記事でも SCL を使用してシステム上のソフトウェアを管理することを強くお勧めします。

CentOS の PHP バージョンは非常に古いため、一部のフレームワークの PHP バージョン要件を満たすことができません。その結果、EPEL、RPM Fusion、Remi など、新しいバージョンの PHP を提供する多くのサードパーティ ソフトウェア ライブラリが登場しました。私たちのシステムを時代に合わせて進めましょう。

ただし、サードパーティのソフトウェア ライブラリにはいくつかの欠点があります: まず、サードパーティのソフトウェア ライブラリは CentOS によって正式にテストされておらず、ソフトウェアをインストールするときにシステムの一部のコア ファイルが置き換えられ、システムが不安定になる可能性があります。 。第 2 に、サードパーティのライブラリによってインストールされるソフトウェアは互換性を保証していない可能性があり、システムをアップグレードすると特定のソフトウェアが使用できなくなる可能性があります。

したがって、この記事では、SCL (Software Collections) ソフトウェア ライブラリを使用して、上位バージョンの PHP をインストールすることをお勧めします。 SCL は CentOS の公式ソフトウェア ライブラリに属しており、十分にテストされており、ソフトウェアのインストール時にシステムのコア ファイルを置き換えないため、システムの安定性が保証されます。

SCL のインストールは非常に簡単で、コマンド 1 つだけで十分です:

[root@localhost]# yum install centos-release-scl-rh

その後、yum で新しいバージョンの PHP を検索できます:

[root@localhost]# yum search php...php54-runtime.x86_64
php55-runtime.x86_64
rh-php56-runtime.x86_64
rh-php70-runtime.x86_64...

rh- プレフィックスは RedHat を意味し、これがサードパーティ ライブラリによって提供されるものではなく、公式に提供される PHP であることを示します。著者は、このプレフィックス仕様が策定されたのは 2015 年頃で、PHP5.4 および 5.5 はその前にリリースされたと推測しています。プログラムがハングします)、rh- 接頭辞がありません。

次に、PHP7.0 をインストールします。

[root@localhost]# yum install rh-php70

インストール後、PHP は実際に /opt/rh ディレクトリにインストールされます。

此时如果你运行php命令,系统依然会提示你command not found。这是因为,SCL的风格就是把软件对系统的影响减少到最小,甚至安装完PHP,php命令都不会被添加到 $PATH 变量中,所以你没法直接执行软件中的命令的。需要通过 scl enable 命令显示执行:

先看看SCL安装了哪些软件:

[root@localhost]# scl -lrh-php70

可以看到我们在系统安装了一个rh-php70,先启用它并执行命令:

[root@localhost]# scl enable rh-php70 "php -v"PHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )Copyright (c) 1997-2016 The PHP GroupZend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

命令成功执行了。要是每一条命令都要这么执行,太麻烦了!不要紧,你可以不用每次执行一条命令,而是直接执行 bash 命令,那么新开的shell就能自动识别php了:

[root@localhost]# scl enable rh-php70 bash[root@localhost]# php -vPHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

[root@localhost ~]# php -m[PHP Modules]
bz2
calendar...

SCL以 scl enable 方式管理软件,虽然在使用上增加了一点点的麻烦,但这绝对地保证了系统稳定性。而且这么做还有一个好处:就是系统上可以多个PHP版本共存而互相不冲突。方便你测试代码或者框架,在各个版本PHP上的兼容性。

总之,要做一个严谨的运维,本篇还是十分推荐用SCL管理你系统上的软件。

推荐教程:《php视频教程

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

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

CentosとUbuntuの違い CentosとUbuntuの違い Apr 14, 2025 pm 09:09 PM

Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

Centosシャットダウンコマンドライン Centosシャットダウンコマンドライン Apr 14, 2025 pm 09:12 PM

Centos Shutdownコマンドはシャットダウンし、構文はシャットダウン[オプション]時間[情報]です。オプションは次のとおりです。-hシステムをすぐに停止します。 -pシャットダウン後に電源をオフにします。 -r再起動; -t待機時間。時間は、即時(現在)、数分(分)、または特定の時間(HH:mm)として指定できます。追加の情報をシステムメッセージに表示できます。

.NET COREクイックスタートチュートリアル1。始まり:.NETコアについて話す .NET COREクイックスタートチュートリアル1。始まり:.NETコアについて話す May 07, 2025 pm 04:54 PM

1. .NETCOREの起源.NetCoreについて話すとき、その前身.NETについて言及してはなりません。ジャワは当時脚光を浴びていて、マイクロソフトもジャワを支持しました。 Windowsプラットフォーム上のJava仮想マシンは、JVM標準に基づいてMicrosoftによって開発されました。当時の最高のパフォーマンスJava仮想マシンと言われています。ただし、Microsoftには独自の小さなAbacusがあり、WindowsプラットフォームでJavaをバンドルし、Windows固有の機能を追加しようとしています。 Sunのこれに対する不満は、2つの政党間の関係の内訳につながり、Microsoftは.NETを立ち上げました。 .NETは、Javaの設立以来、Javaの多くの機能を借りており、言語機能とフォーム開発のJavaを徐々に上回っています。バージョン1.6のJava

CentOS構成IPアドレス CentOS構成IPアドレス Apr 14, 2025 pm 09:06 PM

CentosでIPアドレスを構成する手順:現在のネットワーク構成を表示します:IP ADDRネットワーク構成ファイルを編集するファイル:Sudo VI/etc/sysconfig/network-scripts/ifcfg-eth0変更IPアドレス:iPaddr =編集マスクとゲートウェイの変更(オプション):Netmask = and edit edit gatewway = neters rettart rettart the sudo system system systemctrat

Hadoop擬似分散クラスター構造 Hadoop擬似分散クラスター構造 May 07, 2025 pm 04:45 PM

ソフトウェアの準備ホスト名レポを使用して、Centos-6.6を備えた仮想マシンを使用しています。 WindowsにLinux仮想マシンをインストールする手順を参照して、その仮想マシンにJDKをインストールしました。LinuxにJDKをインストールするガイドを参照してください。さらに、仮想マシンはキーフリーログイン自体で構成されており、各仮想マシン間でキーフリーログインを構成するための設定が参照されます。 Hadoopインストールパッケージのダウンロードアドレスは、https://mirrors.aliyun.com/apache/hadoop/common/です。 Hadoop 2.6.5バージョンを使用しています。 Hadoopインストールパッケージをサーバーにアップロードし、[root@repo〜] #tarzxvを解凍します

郵便配達員の統合アプリケーション 郵便配達員の統合アプリケーション May 19, 2025 pm 08:00 PM

CENTOSでの郵便配置の統合は、さまざまな方法で達成できます。詳細な手順と提案は次のとおりです。インストールパッケージをダウンロードしてPostman's LinuxバージョンインストールパッケージをダウンロードしてPostmanの公式Webサイトにアクセスして、Linuxに適したバージョンを選択してダウンロードします。インストールパッケージを解凍します。次のコマンドを使用して、指定されたディレクトリにインストールパッケージを解凍します。たとえば、 /opt:sudotar-xzfpostman-linux-x64-xx.xx.xx.tar.gz-c /oct "Postman-linux-x64-xx.x.x.xx.tar.gzシンボルを作成します

メンテナンスを停止した後のCentosの選択 メンテナンスを停止した後のCentosの選択 Apr 14, 2025 pm 08:51 PM

Centosは廃止されました、代替品には次のものが含まれます。1。RockyLinux(最高の互換性)。 2。アルマリン(Centosと互換性); 3。Ubuntuサーバー(設定が必要); 4。RedHat Enterprise Linux(コマーシャルバージョン、有料ライセンス); 5。OracleLinux(CentosとRhelと互換性があります)。移行する場合、考慮事項は次のとおりです。互換性、可用性、サポート、コスト、およびコミュニティサポート。

Centosをインストールする方法 Centosをインストールする方法 Apr 14, 2025 pm 09:03 PM

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

See all articles