web-dev-qa-db-ja.com

Amazon Linux Distroを実行しているEC2 t2.microインスタンスにPHP 7をインストールする方法

AWS EC2 T2.Microインスタンスに最新のPHP 7.0をインストールしたい。これまでのところ、現在AWSはPHP 7をサポートしていないことを読んでいます。これでPHP 7を実行します。

助けていただければ幸いです。

私の箱は以下の通りです

$ cat /etc/*-release
---------------------------------------
NAME="Amazon Linux AMI"
VERSION="2015.09"
ID="amzn"
ID_LIKE="rhel Fedora"
VERSION_ID="2015.09"
PRETTY_NAME="Amazon Linux AMI 2015.09"
ANSI_COLOR="0;33"
CPE_NAME="[*not significant*]"
HOME_URL="http://aws.Amazon.com/Amazon-linux-AMI/"
Amazon Linux AMI release 2015.09

$ uname -a
---------------------------------------
Linux ip-xxx-xxx-xxx-xxx 4.1.13-18.26.amzn1.x86_64 #1 [date] x86_64 x86_64 x86_64 GNU/Linux

$ uname -mrs
---------------------------------------
Linux 4.1.13-18.26.amzn1.x86_64 x86_64

$ cat /proc/version
---------------------------------------
Linux version 4.1.13-18.26.amzn1.x86_64 (mockbuild@gobi-build-64010) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) )
36
Rahul Kate

公式のphp7パッケージを使用できるようになりました。ここでは、わかりやすいガイドを紹介します。

1。Amazon Linux AMIにApache 2.4およびPHP 7.0をインストール

# Remove current Apache & php 
Sudo yum remove httpd* php*

# Install Apache 2.4
Sudo yum install httpd24

# Install PHP 7.0 
# automatically includes php70-cli php70-common php70-json php70-process php70-xml
Sudo yum install php70

# Install additional commonly used php packages
Sudo yum install php70-Gd
Sudo yum install php70-imap
Sudo yum install php70-mbstring
Sudo yum install php70-mysqlnd
Sudo yum install php70-opcache
Sudo yum install php70-pdo
Sudo yum install php70-pecl-apcu

2。index.phpを含むようにDirectoryIndexを変更

Sudo nano /etc/httpd/conf/httpd.conf

これを見つける:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

次のように変更します。

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

ディレクトリにindex.htmlとindex.phpが含まれている場合、サーバーはこの設定でindex.htmlを提供します。そうしたくない場合は、次のオプションがあります。

順序を逆にして、両方のファイルが存在するときにindex.phpが提供されます。

 <IfModule dir_module>
    DirectoryIndex index.php index.html
 </IfModule>

DirectoryIndexとしてのみindex.phpを使用します。

<IfModule dir_module>
    DirectoryIndex index.php
</IfModule>

。Apache Webサーバーを起動します

Sudo service httpd start

4。各システムの起動時に起動するようにApache Webサーバーを構成します

Sudo chkconfig httpd on

5。インストールのテスト

Phpinfo.phpを作成します。

echo '<?php print phpinfo();' | Sudo tee --append /var/www/html/phpinfo.php

ブラウザを開き、アドレスバーにインスタンスのパブリックIPを入力してから/phpinfo.phpを入力します

Example: http://xxx.xxx.xxx.xxx/phpinfo.php

注:インスタンスのセキュリティグループでHTTP(ポート80)の着信接続を許可することを忘れないでください。許可しない場合、リクエストはタイムアウトします。

69
Johano Fierra

インスタンスでこれを実行しました。 Webtaticリポジトリを使用するには、http2.2が必要です。私は非常に多くのリポジトリを持っていて、異なるバージョンの非互換性がたくさんありました。私は素晴らしいメモを保存しませんでしたが、私の歴史を見て、基本的にこれを行いました:

# Remove current php & Apache
Sudo service httpd stop
Sudo yum remove httpd* php* 

# Remove any third party repos that aren't relevant
Sudo yum repolist
Sudo yum remove remi-safe

# Install Standard Apache for Amazon AMI
Sudo yum install httpd   #specify http22 if you get a different version

# Download webtatic
mkdir -p /tmp/php7
cd /tmp/php7
wget https://mirror.webtatic.com/yum/el6/latest.rpm

# Install webtatic repo
Sudo yum install latest.rpm
Sudo vi /etc/yum.repos.d/webtatic.repo  'set repo enables
Sudo yum clean all

# Install base php7
Sudo yum install --enablerepo=webtatic php70w
php -v   #Should say something like  PHP 7.0.2 (cli) (built: Jan  9 2016 16:09:32) ( NTS )
Sudo yum install php70w-opcache
Sudo yum install php70w-xml
Sudo yum install php70w-pdo
Sudo yum install php70w-mysqlnd
Sudo yum install php70w-Gd
Sudo yum install php70w-apcu
Sudo yum install php70w-pecl-apcu
Sudo yum install php70w-mbstring
Sudo yum install php70w-imap

# Restart Apache
Sudo service httpd restart
34
FuriousGeorge

問題に対する現在の答え(元のバージョンではありません)-これは少し単純であり、php7はAmazon Linux 2の標準リポジトリでは利用できないため、知っておく価値があります。

Amazon-linux-extras install php7.2

V7.2が最新ではない場合、リストコマンドを使用してエクストラのバージョンを確認できます。

Amazon-linux-extras list
19
lambfrier

2016年7月14日現在、aws linux用の公式php7パッケージがあります。 https://forums.aws.Amazon.com/ann.jspa?annID=3902 の発表をご覧ください。

利用可能なパッケージを一覧表示するには、yum list php70 *を実行します

13
HappyDude

既にApache 2.4とPHP 5.5がインストールされているプロダクションボックスにPHP 7.0をインストールしていました。サーバーが停止しないように、PHP 7.0と一緒にインストールしたかったのです。これは私がやったことです。

# Install PHP 7.0 
# automatically includes php70-cli php70-common php70-json php70-process php70-xml
Sudo yum install php70

# Install additional commonly used php packages
Sudo yum install php70-Gd
Sudo yum install php70-imap
Sudo yum install php70-mbstring
Sudo yum install php70-mysqlnd
Sudo yum install php70-opcache
Sudo yum install php70-pecl-apcu

これにより、PHP 5.5とPHP 7が一緒にインストールされました。トリックは、Apacheに7.0を使用するように指示することでした。これが最善の方法かどうかはわかりませんが、これらの2つのパーマリンクを変更することでこれを達成しました。

ln -sf /etc/httpd/conf.d/php-conf.7.0 /etc/alternatives/php.conf
ln -sf /etc/httpd/conf.modules.d/15-php-conf.7.0 /etc/alternatives/10-php.conf

この時点で、Apacheは5.5を実行しています。その後、Apacheを再起動すると、should7.0(おそらく7.0.1)で動作します。これはダウンタイムなしの方法です。 PRODを実際に実行する前に、別のインスタンスでPRODを再構築(TESTサーバーを作成)し、一度テストすることを行うことをお勧めします。幸運を!

ああ、今のところphpコマンドは5.5を実行します。 php7を指すようにスクリプトまたはCRONジョブを変更するか、次を実行してデフォルトバージョンを変更できます。

alternatives --config php
9
Duncan Edwards

他の答えはApache 2.2でのみ機能し、2.4では機能しないようです。

Apache 2.4を実行しているAmazon Linuxにphp7をインストールした方法は次のとおりです。

最初に、phpが既にインストールされている場合、削除します。

Sudo yum remove php5*

それらのphp7バージョンをインストールする必要があるため、削除されているphp5パッケージに注意してください。以下に示すように、php7パッケージ名には、php5の対応するものからかなり直接的かつ明確なマッピングがあります。残りの指示は、古典的なLAMPスタックを対象としており、ユースケースに十分な場合があります。

http://www.spidersoft.com.au/2015/php-7-on-AMI-linux-ec2/ の手順を使用して

wget http://mirrors.mediatemple.net/remi/enterprise/remi-release-6.rpm
Sudo yum install remi-release-6.rpm

/etc/yum.repos.d/epel.repoを編集してenabled=1を設定します

Sudo yum upgrade -y
Sudo yum install php70 php70-php-fpm php70-php-xml php70-php-pdo php70-php-mysqlnd php70-php-Gd php70-php-pecl-apcu php70-php-mbstring php70-php-mcrypt php70-php-opcache

これで、php70-php-fpmがインストールされ、Apacheと組み合わせて使用​​できます。

Fpmデーモンを開始します。

Sudo service php70-php-fpm start

/etc/httpd/conf.modules.d/00-mpm.confで、Apacheをpreforkからmpmイベントワーカーに切り替えます(mod_phpはスレッドセーフではないため、これが必要です)。

LoadModule mpm_event_module modules/mod_mpm_event.so

/etc/httpd/conf/httpd.confに次の行を追加して、すべてのphp要求をphp-fpmに渡すようApacheに指示します。

<FilesMatch \.php$>
         SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
DirectoryIndex /index.php index.php

Sudo service httpd restartを使用してApacheを再起動します。すべてがうまくいった場合は、phpinfo()を含むphpファイルを要求することでインストールを確認できます。

Phpのcliインタープリターを使用する#!/usr/bin/phpで始まる既存のシェルスクリプトがある場合、バイナリの名前が/usr/bin/phpになっているため、/usr/bin/php70へのシンボリックリンクを設定する必要があります。これは次のようにして実行できます。

Sudo ln -s /usr/bin/php70 /usr/bin/php

Php-fpmの構成方法の詳細については、 https://wiki.Apache.org/httpd/PHP-FPM を参照してください。

8
FuzzyTree

http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html

lAMPのインストールに関するこの段階的なガイドに従うことができます

Sudo yum update -y

Sudo yum install -y httpd24 php70 mysql56-server php70-mysqlnd

Sudo service httpd start
3
jihchuan

簡単なコピーアンドペーストインストールが必要な場合:

wget http://mirrors.mediatemple.net/remi/enterprise/remi-release-6.rpm
Sudo yum install -y remi-release-6.rpm
Sudo yum update -y
Sudo yum install -y --enablerepo=epel php70

でテストする:

php70 -v

実行可能ファイルをphpにしたい場合:

ln -s /usr/bin/php70 /usr/local/bin/php 
php -v
2
Parris Varney

デフォルトでは、少数のYumリポジトリがRedHat EC2で有効になっています。すべてを有効にするには、単に入力します

yum-config-manager --enable rhui-REGION-rhel-*

今すぐyumリストを実行すると、これを見ることができるはずです:

yumリスト| grep php7

1
star

それは簡単です。ただ:

Sudo Amazon-linux-extras install -y php7.2
1

このスレッドは、私がそれを終了するのに十分に近づくのを助け、私のために働いたコマンドと出力を共有しています。

オンAmazon LightsailAmazon Linux(amzn1.x86_64)、次のコマンドリストが私を助けてくれましたApache 2.2とPHP 5.3のシステムを削除してApache 2.4とPHPに到達しました

  1. 現在のバージョンのphpおよび関連ツールを削除します。

Sudo yum remove php*

==============================================================================================================================================
Package                           Arch                        Version                                  Repository                       Size
==============================================================================================================================================
Removing:
 php                               x86_64                      5.3.29-1.8.amzn1                         @amzn-main                      7.4 M
 php-cli                           x86_64                      5.3.29-1.8.amzn1                         @amzn-main                      6.4 M
 php-common                        x86_64                      5.3.29-1.8.amzn1                         @amzn-main                      6.3 M
 php-devel                         x86_64                      5.3.29-1.8.amzn1                         @amzn-main                      9.9 M
 php-Gd                            x86_64                      5.3.29-1.8.amzn1                         @amzn-main                      669 k
 php-mbstring                      x86_64                      5.3.29-1.8.amzn1                         @amzn-main                      4.1 M
 php-mcrypt                        x86_64                      5.3.29-1.8.amzn1                         @amzn-main                       92 k
 php-mysql                         x86_64                      5.3.29-1.8.amzn1                         @amzn-main                      445 k
 php-pdo                           x86_64                      5.3.29-1.8.amzn1                         @amzn-main                      381 k
 php-xml                           x86_64                      5.3.29-1.8.amzn1                         @amzn-main                      625 k

Transaction Summary
==============================================================================================================================================
Remove  10 Packages
  1. Apacheの現在のバージョンを削除します(、これを行う前にconfおよびconf.dフォルダーをバックアップする必要があることに注意してください;私の場合、それは新しいシステムセットアップでした。そこには何の関心もない):

Sudo yum remove http*

==============================================================================================================================================
 Package                           Arch                         Version                                Repository                        Size
==============================================================================================================================================
Removing:
 httpd                             x86_64                       2.2.31-1.8.amzn1                       @amzn-main                       3.0 M
 httpd-devel                       x86_64                       2.2.31-1.8.amzn1                       @amzn-main                       534 k
 httpd-tools                       x86_64                       2.2.31-1.8.amzn1                       @amzn-main                       135 k

Transaction Summary
==============================================================================================================================================
Remove  3 Packages
  1. Apache 2.4をインストール(およびApacheを起動)

Sudo yum install httpd24.x86_64

Sudo service httpd start

  1. インストールPHP 7

Sudo yum install php70

==============================================================================================================================================
 Package                           Arch                       Version                                  Repository                        Size
==============================================================================================================================================
Installing:
 php70                             x86_64                     7.0.13-1.19.amzn1                        amzn-updates                     3.3 M
Installing for dependencies:
 php70-cli                         x86_64                     7.0.13-1.19.amzn1                        amzn-updates                     4.7 M
 php70-common                      x86_64                     7.0.13-1.19.amzn1                        amzn-updates                     1.2 M
 php70-json                        x86_64                     7.0.13-1.19.amzn1                        amzn-updates                      65 k
 php70-process                     x86_64                     7.0.13-1.19.amzn1                        amzn-updates                      79 k
 php70-xml                         x86_64                     7.0.13-1.19.amzn1                        amzn-updates                     309 k

Transaction Summary
==============================================================================================================================================
Install  1 Package (+5 Dependent packages)

Total download size: 9.6 M
Installed size: 31 M
Is this ok [y/d/N]: y
Downloading packages:
(1/6): php70-7.0.13-1.19.amzn1.x86_64.rpm                                                                              | 3.3 MB     00:00
(2/6): php70-cli-7.0.13-1.19.amzn1.x86_64.rpm                                                                          | 4.7 MB     00:00
(3/6): php70-common-7.0.13-1.19.amzn1.x86_64.rpm                                                                       | 1.2 MB     00:00
(4/6): php70-json-7.0.13-1.19.amzn1.x86_64.rpm                                                                         |  65 kB     00:00
(5/6): php70-process-7.0.13-1.19.amzn1.x86_64.rpm                                                                      |  79 kB     00:00
(6/6): php70-xml-7.0.13-1.19.amzn1.x86_64.rpm                                                                          | 309 kB     00:00
----------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                          14 MB/s | 9.6 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : php70-json-7.0.13-1.19.amzn1.x86_64                                                                                        1/6
  Installing : php70-process-7.0.13-1.19.amzn1.x86_64                                                                                     2/6
  Installing : php70-xml-7.0.13-1.19.amzn1.x86_64                                                                                         3/6
  Installing : php70-cli-7.0.13-1.19.amzn1.x86_64                                                                                         4/6
  Installing : php70-common-7.0.13-1.19.amzn1.x86_64                                                                                      5/6
  Installing : php70-7.0.13-1.19.amzn1.x86_64                                                                                             6/6
  Verifying  : php70-7.0.13-1.19.amzn1.x86_64                                                                                             1/6
  Verifying  : php70-common-7.0.13-1.19.amzn1.x86_64                                                                                      2/6
  Verifying  : php70-json-7.0.13-1.19.amzn1.x86_64                                                                                        3/6
  Verifying  : php70-process-7.0.13-1.19.amzn1.x86_64                                                                                     4/6
  Verifying  : php70-xml-7.0.13-1.19.amzn1.x86_64                                                                                         5/6
  Verifying  : php70-cli-7.0.13-1.19.amzn1.x86_64                                                                                         6/6

Installed:
  php70.x86_64 0:7.0.13-1.19.amzn1

Dependency Installed:
  php70-cli.x86_64 0:7.0.13-1.19.amzn1            php70-common.x86_64 0:7.0.13-1.19.amzn1        php70-json.x86_64 0:7.0.13-1.19.amzn1
  php70-process.x86_64 0:7.0.13-1.19.amzn1        php70-xml.x86_64 0:7.0.13-1.19.amzn1

Complete!
1
WEBjuju

Php 7パッケージ名はphp70wです。だからあなたができることは、LinuxマシンにWebtaticリポジトリをインストールし、そこからインストールすることです。

rpm -ivh https://mirror.webtatic.com/yum/el6/latest.rpm
yum clean all
yum install --enablerepo=webtatic php70w
1

ここでいくつかの答えが機能するはずです。しかし、私が私のものをインストールしたとき、それはページをレンダリングせず、レンダリングされたPHPの代わりにテキストを表示しました。

それを修正するために、私は走った

Sudo yum install php70-php-fpm

その後、すべてが機能し始めました。

0
MadPhysicist

Amazon LinuxにPHP 7.1をインストールした方法は次のとおりです。

wget http://rpms.remirepo.net/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6.rpm epel-release-latest-6.noarch.rpm
yum-config-manager --enable remi-php71

wget ftp://195.220.108.108/linux/epel/6/x86_64/Packages/s/scl-utils-20120229-1.el6.x86_64.rpm
rpm -Uvh scl-utils-20120229-1.el6.x86_64.rpm 

yum install php71

https://Gist.github.com/ihor/581d169886c29e7e17d01b0041167b01

0