Zainstaluj PHP7 z repozytorium Remi


13

Zainstalowałem PHP7 z repozytorium Remi za pomocą

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

i działa poprzez CLI. Teraz chcę, aby działał z apache, ale nie mogę znaleźć tak, aby przekazać jako drugi argument do LoadModule

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

Czy to poprawne podejście, aby PHP7 współpracował z Apache2?


php7.zend.com/install-ubuntu.php To jest dla Centos7, ale może pomóc.
angelcool.net

Skończyłem pisać blog.nexcess.net/2015/07/21/install-wordpress-with-php-7 z kompilacjami Zend PHP7.
mbalparda

PHP7, biorąc pod uwagę jego status przedpremierowy, wydaje się być solidnie zaliczany do ścisłej kategorii „nieobsługiwanego oprogramowania”.
ceejayoz

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

Odpowiedzi:


24

Domyślnie „php70” (kolekcja oprogramowania) nie instaluje mod_php.

yum install php70-php

I sprawdź, czy nie masz innego mod_php (takiego jak ten dostarczony przez pakiet podstawowy „php”)


Cześć Remi. Właśnie zainstalowałem na 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) i chociaż instalacja działała bezbłędnie, moje strony są nadal obsługiwane w php 5.6. Jak mogę zmienić Nginx na PHP 7?
Codemonkey

Ponieważ fcgi przechodzi przez 127.0.0.1:9000, zakładam, że muszę jakoś wyłączyć 5.6 na tym porcie i zamiast tego ustawić php 7 ... ale mój umysł stał się pusty! Zgaduję, że jeśli najpierw odinstalowałbym wszystkie rzeczy 5.6, a następnie zainstalowałem 7, to też by to rozwiązało?
Codemonkey

Jeśli potrzebujesz jednej wersji php, możesz wyłączyć „php-fpm” i zamiast tego użyć „php70-php-fpm”. Jeśli potrzebujesz obu, zmień opcję nasłuchiwania w definicji puli i konfigurację nginx.
Remi Collet,

2
Fantastycznie, dzięki. Dla każdego innego w tej samej łodzi to załatwia sprawę: service php-fpm stop, service php70-php-fpm start. Znajdziesz pliki conf php.ini i php-fpm w, /etc/opt/remi/php70/a nie tylko w etc.
Codemonkey

@RemiCollet Zainstalowałem php 5.6 za pomocą repozytoriów remo. Wiesz, jak mogę zaktualizować 5.6 do 7? Potrzebuję tylko jednej wersji. Thansk.
PHPst,

6

Informacje dla osób, które chcą zainstalować PHP 7 przy użyciu remi-php70repozytorium (teraz, gdy PHP 7.0.0 zostało wydane), możesz zainstalować pakiety przy użyciu tych samych nazw pakietów, które znasz i lubisz, na przykład:

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

W jaki sposób? Wygląda na to, że php54 jest domyślny w przypadku remi-release-7.rpm?
giorgio79

1
@ giorgio79, jeśli włączysz remi-php70.repoi wyłączysz wszystkie inne wersje php z repozytoriów, yum install php-fpmdomyślnie używa 7.0, ale to NIE działa z 7.1 (lub innymi przyszłymi wydaniami)
miękko

2

Wydaje się, że PHP70 instaluje wszystko pod / etc / opt / remi / php70 /:

musisz uruchomić:

source /opt/remi/php70/enable

3
Powinieneś opracować. Dlaczego musisz to uruchomić? Co to robi? Jak pomaga OP znaleźć moduł Apache?
Marki

Jeśli PHP 7 nadal nie działa, musisz go uruchomić, aby działał. Doda linię w apache, aby załadować moduł php70.
user1455180

przestanie to działać, jeśli wylogujesz się i zalogujesz ponownie. To jest problem, z którym się zmagam.
Edward

Co do cholery spaliło mnie na instalacji w wersji 7.4! Dodano wpisy PATH w razie potrzeby i działa. Nie ma pojęcia, dlaczego tak zostało zaprojektowane!
emmdee

1

Jeśli masz starszą wersję php (jak 5.6), nie zapomnij zrobić czegoś takiego:

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

Uruchom ponownie apache i to powinno wystarczyć.


1
O dziwo, to rozwiązanie naprawiło mnie po kilku godzinach bełkotania.
giorgio79

1

Dla każdego, kto próbuje uaktualnić z PHP 5.6 do 7.0.1 na Centos 6.7:

Udało mi się dziś uruchomić to prawie tak, jak na liście @mbalparda, ale bez użycia epel-release (chociaż kilka repozytoriów epel jest włączonych i używanych)

Miałem php 5.6 z IUS ( https://ius.io/GettingStarted/ ) repo ( https://centos6.iuscommunity.org/ius-release.rpm ), więc usunąłem je przez:

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

a więc

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

a następnie wymienione polecenia:

# 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

mieszanie pakietu php70- * i php56u- * w tym samym poleceniu wydaje się bardzo dziwne. Prawdopodobnie niechciane. A jeśli chcesz mieć jedną wersję, użycie SCL nie jest najprostszym rozwiązaniem. Najprościej jest włączyć repozytorium remi-php70 i „aktualizację yum”. Pamiętaj, aby wypróbować nowego kreatora: rpms.remirepo.net/wizard
Remi Collet

@RemiCollet dziękuję za wskazanie literówki, edytowałem post, aby odzwierciedlić to samo - chciałem napisać php70-php-mysqlnd itp., Ale źle wkleiłem / edytowałem ... Ponadto kreator wydaje się wspaniały. Dzięki!
site80443
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.