Назад | Перейти на главную страницу

Установите PHP7 из репозитория Remi

Я установил PHP7 из репозитория Remi с

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.

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

Это правильный подход к тому, чтобы PHP7 работал с apache2?

По умолчанию "php70" (Коллекция программного обеспечения) не устанавливает mod_php.

yum install php70-php

И убедитесь, что у вас нет другого mod_php (например, предоставленного базовым пакетом "php")

К сведению тех, кто хочет установить PHP 7 с помощью remi-php70 репозиторий (теперь, когда был выпущен PHP 7.0.0), вы можете устанавливать пакеты, используя те же имена пакетов, которые вы знаете и любите, например:

  • php
  • php-cli
  • php-common
  • php-devel
  • php-fpm
  • php-gd
  • php-mbstring
  • php-pdo
  • и т.п.

Для всех, кто пытается обновить PHP 5.6 до 7.0.1 на Centos 6.7:

Мне удалось заставить это работать сегодня почти так, как указано в @mbalparda, но без использования epel-release (хотя несколько репозиториев epel включены и используются)

У меня был php 5.6 от IUS (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 также, кажется, устанавливает все в / etc / opt / remi / php70 /:

вам нужно будет запустить:

source /opt/remi/php70/enable

Если у вас установлена ​​более старая версия php (например, 5.6), не забудьте сделать что-то вроде этого:

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

Перезапустите apache, и все должно получиться.