Instal PHP7 dari Remi repo


13

Saya menginstal PHP7 dari Remi repo dengan

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

dan itu bekerja melalui CLI. Sekarang saya ingin membuatnya berfungsi dengan apache tetapi saya tidak dapat menemukan sehingga untuk lulus sebagai argumen kedua ke LoadModule

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

Apakah ini pendekatan yang benar untuk membuat PHP7 berfungsi dengan apache2?


php7.zend.com/install-ubuntu.php Ini untuk Centos7 tetapi mungkin membantu.
— angelcool.net

Saya akhirnya menulis blog.nexcess.net/2015/07/21/install-wordpress-with-php-7 dengan Zend PHP7 build.
— mbalparda

PHP7, mengingat status pra-rilisnya, sepertinya masuk dalam kategori "tidak didukung".
— ceejayoz

1
find / -iname '*php*.so':)
— Marki

Jawaban:


23

Secara default "php70" (Pengumpulan Perangkat Lunak) tidak menginstal mod_php.

yum install php70-php

Dan periksa Anda tidak memiliki mod_php lain (seperti yang disediakan oleh paket dasar "php")


Hai Remi. Saya baru saja menginstal pada 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) dan ketika instalasi bekerja dengan baik, situs saya masih dilayani di php 5.6. Bagaimana cara "beralih" nginx ke php 7?
— Codemonkey

Karena fcgi melewati 127.0.0.1:9000, saya berasumsi saya perlu menonaktifkan 5.6 pada port itu dan menjadikannya php 7 sebagai gantinya ... tetapi pikiran saya menjadi kosong! Saya menduga bahwa jika saya menghapus semua hal-hal 5.6 terlebih dahulu, dan kemudian menginstal 7, itu juga akan menyelesaikannya?
— Codemonkey

Jika Anda menggunakan versi php tunggal, Anda dapat menonaktifkan "php-fpm" dan menggunakan "php70-php-fpm". Jika Anda membutuhkan keduanya, ubah opsi mendengarkan dalam definisi kumpulan, dan konfigurasi nginx.
— Remi Collet

2
Fantastis, terima kasih. Bagi siapa pun di kapal yang sama, ini berhasil: service php-fpm stop, service php70-php-fpm start. Anda akan menemukan file conf php.ini dan php-fpm /etc/opt/remi/php70/bukan hanya di etc.
— Codemonkey

@RemiCollet Saya menginstal php 5.6 menggunakan repo remo. Tahu bagaimana saya bisa meningkatkan versi 5,6 ke 7? Saya hanya perlu satu versi. Bahasa thans.
— PHPst

6

FYI bagi mereka yang ingin menginstal PHP 7 menggunakan remi-php70repositori (sekarang PHP 7.0.0 telah dirilis), Anda dapat menginstal paket menggunakan nama paket yang sama yang Anda kenal dan sukai, misalnya:

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

Bagaimana? php54 tampaknya menjadi default dengan remi-release-7.rpm?
— giorgio79

1
@ giorgio79 jika Anda mengaktifkan remi-php70.repodan menonaktifkan semua versi php lainnya dari repo remi, berjalan yum install php-fpmsecara default menggunakan 7.0, tetapi ini TIDAK berfungsi dengan 7.1 (atau rilis lain di masa mendatang)
— lembut

2

PHP70 juga tampaknya menginstal semuanya di / etc / opt / remi / php70 /:

Anda harus menjalankan:

source /opt/remi/php70/enable

3
Anda harus menguraikan. Mengapa Anda perlu menjalankannya? Apa fungsinya? Bagaimana cara membantu OP menemukan modul Apache?
— Marki

Jika PHP 7 masih tidak berfungsi Anda harus menjalankannya untuk membuatnya berfungsi. Ini akan menambahkan baris di apache untuk memuat modul php70.
— user1455180

ini akan berhenti berfungsi jika Anda keluar dan masuk kembali. ini adalah masalah yang saya hadapi.
— Edward

Apa yang membuat saya terbakar pada instal 7.4 saya! Menambahkan entri PATH sesuai kebutuhan dan berfungsi. Dia tidak tahu mengapa itu dirancang seperti itu!
— emmdee

1

Jika Anda memiliki versi php yang lebih lama (seperti 5.6) diinstal, jangan lupa untuk melakukan sesuatu seperti ini:

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

Nyalakan kembali apache dan itu harus dilakukan.


1
Anehnya, solusi ini memperbaikinya bagi saya setelah beberapa jam bergumam.
— giorgio79

1

Untuk orang lain yang mencoba meningkatkan versi dari PHP 5.6 ke 7.0.1 di Centos 6.7:

Saya berhasil membuat ini berfungsi hari ini hampir seperti @mbalparda telah terdaftar tetapi tanpa menggunakan epel-release (meskipun beberapa repel epel diaktifkan dan digunakan)

Saya memiliki php 5,6 dari IUS ( https://ius.io/GettingStarted/ ) repo ( https://centos6.iuscommunity.org/ius-release.rpm ) diinstal, jadi saya menghapusnya dengan:

# 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
...

dan sebagainya

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

diikuti oleh perintah yang tercantum:

# 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

menggabungkan paket php70- * dan php56u- * dalam perintah yang sama tampaknya sangat aneh. Mungkin tidak diinginkan. Dan jika Anda menginginkan versi tunggal, menggunakan SCL bukanlah solusi paling sederhana. Paling sederhana adalah mengaktifkan repositori remi-php70 dan "pembaruan yum". Ingatlah untuk mencoba wizard baru: rpms.remirepo.net/wizard
— Remi Collet

@RemiCollet terima kasih untuk menunjukkan kesalahan ketik, mengedit pos untuk mencerminkan hal yang sama - saya bermaksud untuk menulis php70-php-mysqlnd dll tetapi salin-tempel / edit salah ... Juga, penyihir itu tampak hebat. Terima kasih!
— site80443
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.