PHP7'yi Remi Repo'dan yükleyin


14

PHP7'yi Remi repo'dan yükledim

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

ve CLI üzerinden çalışıyor. Şimdi apache ile çalışmasını istiyorum ama LoadModule için ikinci bir argüman olarak geçmek için bulamıyorum

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

PHP7'nin apache2 ile çalışmasını sağlamak için doğru yaklaşım bu mu?



Yazmaktan sona erdi blog.nexcess.net/2015/07/21/install-wordpress-with-php-7 Zend PHP7 inşa ile.
mbalparda

PHP7, yayın öncesi durumu göz önüne alındığında, "desteklenmeyen yazılım" yakın kategorisinde yer alıyor gibi görünüyor.
ceejayoz

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

Yanıtlar:


25

Varsayılan olarak "php70" (Yazılım Koleksiyonu) mod_php'yi yüklemeyin.

yum install php70-php

Ve başka bir mod_php ("php" temel paketi tarafından sağlanan gibi) olmadığını kontrol edin


Merhaba Remi. Ben sadece 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) yüklü ve kurulum kusursuz çalıştı iken benim siteler hala php 5.6 hizmet vermektedir. Nasıl php 7 için nginx "geçiş"?
Codemonkey

Fcgi 127.0.0.1:9000 üzerinde geçtiğinden ben bir şekilde bu bağlantı noktasında 5.6 devre dışı bırakmak ve bunun yerine php 7 yapmak gerekir varsayalım ... ama aklım boş gitti! Öncelikle 5.6 öğenin tümünü kaldırdıktan sonra 7 yüklediysem bunun da çözeceğini tahmin ediyorum.
Codemonkey

Tek bir php sürümünü seçtiyseniz, "php-fpm" yi devre dışı bırakabilir ve bunun yerine "php70-php-fpm" kullanabilirsiniz. Her ikisine de ihtiyacınız varsa, havuz tanımındaki dinleme seçeneğini ve nginx yapılandırmasını değiştirin.
Remi Collet

2
Harika, teşekkürler. Aynı gemideki herkes için bu hile yapar: service php-fpm stop, service php70-php-fpm start. Sadece /etc/opt/remi/php70/yerine php.ini ve php-fpm conf dosyalarını bulacaksınız etc.
Codemonkey

@RemiCollet Remo depoları kullanarak php 5.6 yükledim. 5.6'yı 7'ye nasıl yükseltebilirim? Sadece bir sürüme ihtiyacım var. Thansk.
PHPst

6

remi-php70Depoyu kullanarak PHP 7 yüklemek isteyenler için FYI (artık PHP 7.0.0 yayınlandı), bildiğiniz ve sevdiğiniz aynı paket adlarını kullanarak paketleri yükleyebilirsiniz, örneğin:

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

Nasıl? php54 remi-release-7.rpm ile varsayılan gibi görünüyor?
giorgio79

1
@ giorgio79, remi-php70.repodiğer tüm php sürümlerini remi depolarından etkinleştirir ve devre dışı bırakırsanız , yum install php-fpmvarsayılan olarak 7.0 kullanır, ancak bu 7.1 (veya gelecekteki diğer sürümler) ile
çalışmaz

2

PHP70 ayrıca / etc / opt / remi / php70 / altına her şeyi yüklüyor gibi görünüyor:

koşmanız gerekecek:

source /opt/remi/php70/enable

3
Ayrıntılandırmalısınız. Bunu neden çalıştırman gerekiyor? Bu ne işe yarıyor? OP'nin Apache modülünü bulmasına nasıl yardımcı olur?
Marki

PHP 7 hala çalışmıyorsa, çalışması için çalıştırmanız gerekir. Php70 modülünü yüklemek için apache'ye bir satır ekleyecektir.
user1455180

oturumunuzu kapatırsanız ve tekrar oturum açarsanız bu çalışma durur. Bu sorunla karşı karşıyayım.
Edward

Bu benim 7.4 kurulumumda beni ne yaktı! Gerektiğinde PATH girişleri eklendi ve çalışıyor. Sheesh neden böyle tasarlandığını bilmiyor!
emmdee

1

Eski php sürümünüz (5.6 gibi) yüklüyse, böyle bir şey yapmayı unutmayın:

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

Apache'yi yeniden başlatın ve bunu yapmalısınız.


1
Garip bir şekilde, bu çözüm birkaç saat mırıldandıktan sonra benim için düzeltti.
giorgio79

1

Centos 6.7'de PHP 5.6'dan 7.0.1'e yükseltmeye çalışan herkes için:

Bu çalışmayı bugün @mbalparda'nın listelediği gibi epel-release kullanmadan almayı başardım (birkaç epel repos etkin ve kullanımda olsa da)

IUS ( https://ius.io/GettingStarted/ ) repo ( https://centos6.iuscommunity.org/ius-release.rpm ) ' den php 5.6 yükledim, bu yüzden onları kaldırdım:

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

ve bu yüzden

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

ardından listelenen komutlar:

# 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- * ve php56u- * paketini aynı komutta karıştırmak çok garip görünüyor. Muhtemelen istenmeyen. Ve tek bir sürüm istiyorsanız, SCL'yi kullanmak en basit çözüm değildir. En basit olanı remi-php70 deposunu ve "yum güncellemesi" ni etkinleştirmektir. Yeni sihirbazı denemeyi unutmayın: rpms.remirepo.net/wizard
Remi Collet

@RemiCollet yazım hatası işaret için teşekkürler, aynı yansıtmak için yazı düzenlenmiş - Ben php70-php-mysqlnd vb yazmak istedim ama kopya yapıştırılan / yanlış düzenlenmiş ... Ayrıca, sihirbaz mükemmel görünüyor. Teşekkürler!
site80443
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.