RemiリポジトリからPHP7をインストールする


13

RemiリポジトリからPHP7をインストールしました

sudo yum -y install httpd
sudo yum -y install epel-release
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
sudo rpm -Uvh remi-release-6*.rpm
sudo yum -y --enablerepo=remi,remi-test install php70
scl enable php70 'php -v'
sudo ln -s /usr/bin/php70 /usr/bin/php

そして、CLI経由で動作しています。今、私はそれをApacheで動作させたいと思っていますが、LoadModuleに2番目の引数として渡すように見つけることができません

LoadModule php7_module        unknown_path  
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

これは、PHP7をapache2で動作させるための正しいアプローチですか?


php7.zend.com/install-ubuntu.php Centos7 用ですが、役立つ場合があります。
angelcool.net

Zend PHP7ビルドでblog.nexcess.net/2015/07/21/install-wordpress-with-php-7を書くことになりました。
mbalparda

PHP7は、そのプレリリースステータスを考えると、「サポートされていないソフトウェア」の近いカテゴリにしっかりと分類されているようです。
ceejayoz

1
find / -iname '*php*.so':)
マルキ

回答:


23

デフォルトでは、「php70」(ソフトウェアコレクション)はmod_phpをインストールしません。

yum install php70-php

また、他のmod_php(「php」ベースパッケージによって提供されるものなど)がないことを確認します。


こんにちはレミ。私はちょうどcentos 6.7(yum install php70-php-pear php70-php-bcmath php70-php-pecl-jsond-devel php70-php-mysqlnd php70-php-gd php70-php-common php70-php-fpm php70-php-intl php70-php-cli php70-php php70-php-xml php70-php-opcache php70-php-pecl-apcu php70-php-pecl-jsond php70-php-pdo php70-php-gmp php70-php-process php70-php-pecl-imagick php70-php-devel php70-php-mbstring)にインストールしましたが、インストールが完璧に機能している間、私のサイトはまだphp 5.6で提供されています。nginxをphp 7に「切り替える」にはどうすればよいですか?
Codemonkey

fcgiは127.0.0.1:9000を超えるため、そのポートで5.6を何らかの方法で無効にし、代わりにphp 7にする必要があると思います... 最初に5.6のものをすべてアンインストールしてから7をインストールすると、それも解決すると思いますか?
Codemonkey

単一のphpバージョンを作成した場合は、「php-fpm」を無効にし、代わりに「php70-php-fpm」を使用できます。両方が必要な場合は、プール定義のリッスンオプションとnginx設定を変更します。
レミコレット

2
素晴らしい、ありがとう。同じ船に乗って他の誰のためにこれはトリックを行います service php-fpm stopservice php70-php-fpm start。php.iniおよびphp-fpm confファイル/etc/opt/remi/php70/は、だけではなくにありますetc
Codemonkey

@RemiColletレモリポジトリを使用してphp 5.6をインストールしました。5.6を7にアップグレードする方法を知っていますか?必要なバージョンは1つだけです。ありがとう
PHPst

6

remi-php70リポジトリを使用してPHP 7をインストールする場合(PHP 7.0.0がリリースされました)、参考にしてください。たとえば、次のように、あなたが知っている、愛するパッケージ名を使用してパッケージをインストールできます。

  • php
  • php-cli
  • php-common
  • php-devel
  • php-fpm
  • php-gd
  • php-mbstring
  • php-pdo

どうやって?php54はremi-release-7.rpmのデフォルトのようですか?
giorgio79

1
@ giorgio79レミレポジトリremi-php70.repoから他のすべてのphpバージョンを有効または無効にするとyum install php-fpm、デフォルトで7.0が使用されますが、これは7.1(または他の将来のリリース)では動作しません
16

2

PHP70も/ etc / opt / remi / php70 /の下にすべてをインストールするようです:

以下を実行する必要があります。

source /opt/remi/php70/enable

3
詳しく説明する必要があります。なぜそれを実行する必要があるのですか?それは何をするためのものか?OPがApacheモジュールを見つけるのにどのように役立ちますか?
マルキ

それでもPHP 7が機能しない場合は、PHP 7を実行して機能させる必要があります。php70モジュールをロードするためにapacheに行を追加します。
user1455180

ログアウトして再度ログインすると、これは動作しなくなります。これは私が直面している問題です。
エドワード

7.4のインストールでこの1つが私を燃やしました!必要に応じてPATHエントリを追加し、機能しています。なぜそのように設計されたのかはわかりません!
エムディー

1

古いバージョンの5.6(5.6など)がインストールされている場合は、次のようなことを忘れないでください。

cd /etc/httpd/conf.d/
mv php.conf php.conf.dis

apacheを再起動してください。


1
奇妙なことに、このソリューションは、数時間つぶやいた後、私のためにそれを修正しました。
-giorgio79

1

Centos 6.7でPHP 5.6から7.0.1にアップグレードしようとしている人:

@mbalpardaがリストしたように、今日はこれをうまく動作させることができましたが、epel-releaseを使用しませんでした(ただし、いくつかのepelリポジトリが有効で使用されています)

IUSのphp 5.6(https://ius.io/GettingStarted/)リポジトリ(https://centos6.iuscommunity.org/ius-release.rpm)がインストールされていたため、次の方法で削除しました。

# yum list installed | grep php5
php56u.x86_64          5.6.14-1.ius.centos6
php56u-cli.x86_64      5.6.14-1.ius.centos6
php56u-common.x86_64   5.6.14-1.ius.centos6
...

など

# yum erase php56u php56u-cli php56u-common php56u-mcrypt php56u-mysqlnd ...

リストされたコマンドが続きます:

# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
# rpm -Uvh remi-release-6.rpm
# yum install php70-php php70-php-cli php70-php-common php70-php-mcrypt php70-php-mysqlnd ...
# scl enable php70 'php -v'
# sudo ln -s /usr/bin/php70 /usr/bin/php
# service httpd restart

同じコマンドでphp70- *とphp56u- *パッケージを混合すると、非常に奇妙に見えます。おそらく望ましくない。また、単一のバージョンが必要な場合、SCLを使用することは最も単純なソリューションではありません。最も簡単なのは、remi-php70リポジトリと「yum update」を有効にすることです。新しいウィザードを試すことを忘れないでください:rpms.remirepo.net/wizard
レミコレット

@RemiColletはタイプミスを指摘してくれたことに感謝し、同じことを反映するように投稿を編集しました。ありがとう!
サイト80443
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.