Installa PHP7 dal repository Remi


13

Ho installato PHP7 dal repository Remi con

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

e funziona tramite CLI. Ora voglio farlo funzionare con Apache ma non riesco a trovare un modo per passare come secondo argomento a LoadModule

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

È questo l'approccio corretto per far funzionare PHP7 con apache2?


php7.zend.com/install-ubuntu.php È per Centos7 ma può aiutare.
angelcool.net,

Ho finito per scrivere blog.nexcess.net/2015/07/21/install-wordpress-with-php-7 con le build di Zend PHP7.
mbalparda,

PHP7, dato il suo stato di pre-release, sembra rientrare saldamente nella categoria chiusa "software non supportato".
Ceejayoz,

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

Risposte:


23

Per impostazione predefinita, "php70" (Raccolta software) non installa mod_php.

yum install php70-php

E controlla di non avere altri mod_php (come quello fornito dal pacchetto base "php")


Ciao Remi. Ho appena installato su 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) e mentre l'installazione ha funzionato perfettamente i miei siti sono ancora serviti in php 5.6. Come "cambio" nginx su php 7?
Codemonkey

Dato che fcgi supera 127.0.0.1:9000 suppongo che in qualche modo devo disabilitare 5.6 su quella porta e renderlo php 7 invece ... ma la mia mente è svuotata! Suppongo che se prima avessi disinstallato tutte le cose 5.6 e poi installato 7, ciò avrebbe risolto?
Codemonkey,

Se nedd una singola versione di php, puoi disabilitare "php-fpm" e usare invece "php70-php-fpm". Se sono necessari entrambi, modificare l'opzione di ascolto nella definizione del pool e la configurazione nginx.
Remi Collet,

2
Fantastico, grazie. Per chiunque altro nella stessa barca questo fa il trucco: service php-fpm stop, service php70-php-fpm start. Troverai i file conf di php.ini e php-fpm /etc/opt/remi/php70/piuttosto che in etc.
Codemonkey

@RemiCollet Ho installato php 5.6 usando i repository remo. Sai come posso aggiornare da 5.6 a 7? Ho bisogno di una sola versione. Thansk.
PHPst

6

Cordiali saluti per coloro che desiderano installare PHP 7 utilizzando il remi-php70repository (ora che PHP 7.0.0 è stato rilasciato), è possibile installare i pacchetti utilizzando gli stessi nomi di pacchetto che conosci e ami, ad esempio:

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

Come? php54 sembra essere il default con remi-release-7.rpm?
giorgio79,

1
@ giorgio79 se abiliti remi-php70.repoe disabiliti tutte le altre versioni php dai remi repository, in esecuzione yum install php-fpmper impostazione predefinita utilizza 7.0, ma questo NON funziona con 7.1 (o altre versioni future)
leggermente il

2

PHP70 sembra installare tutto anche in / etc / opt / remi / php70 /:

dovrai eseguire:

source /opt/remi/php70/enable

3
Dovresti elaborare. Perché è necessario eseguirlo? Che cosa fa? In che modo aiuta l'OP a trovare il modulo Apache?
Marki,

Se PHP 7 continua a non funzionare, è necessario eseguirlo per farlo funzionare. Aggiungerà una riga in apache per caricare il modulo php70.
user1455180,

questo smetterà di funzionare se ti disconnetti e accedi di nuovo. Questo è il problema che sto affrontando.
Edward,

Che diamine questo mi ha bruciato sulla mia installazione 7.4! Aggiunte le voci PATH secondo necessità e funziona. Non ho idea del perché sia ​​stato progettato così!
emmdee,

1

Se hai installato una versione php precedente (come 5.6), non dimenticare di fare qualcosa del genere:

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

Riavvia Apache e questo dovrebbe farlo.


1
Stranamente, questa soluzione mi ha risolto il problema dopo alcune ore di borbottio.
giorgio79,

1

Per chiunque cerchi di aggiornare da PHP 5.6 a 7.0.1 su Centos 6.7:

Sono riuscito a farlo funzionare oggi quasi come ha elencato @mbalparda ma senza usare epel-release (anche se alcuni repository epel sono abilitati e in uso)

Avevo php 5.6 da IUS ( https://ius.io/GettingStarted/ ) repo ( https://centos6.iuscommunity.org/ius-release.rpm ) installato, quindi li ho rimossi da:

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

e così

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

seguito dai comandi elencati:

# 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

mescolare il pacchetto php70- * e php56u- * nello stesso comando sembra molto strano. Probabilmente indesiderato. E se vuoi una singola versione, usare SCL non è la soluzione più semplice. Il più semplice è abilitare il repository remi-php70 e "yum update". Ricorda di provare il nuovo mago: rpms.remirepo.net/wizard
Remi Collet,

@RemiCollet grazie per aver segnalato l'errore di battitura, modificato il post per riflettere lo stesso - intendevo scrivere php70-php-mysqlnd ecc ma ma incollato / modificato in modo errato ... Inoltre, la procedura guidata sembra superba. Grazie!
site 80443
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.