从 Remi repo 安装 PHP7

从 Remi repo 安装 PHP7

我从 Remi repo 安装了 PHP7

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 的 so

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

这是使 PHP7 与 apache2 协同工作的正确方法吗?

答案1

默认情况下“php70”(软件集合)不安装mod_php。

yum install php70-php

并检查您是否没有任何其他 mod_php(例如“php”基础包提供的 mod_php)

答案2

对于那些希望使用remi-php70存储库安装 PHP 7 的人(现在 PHP 7.0.0 已经发布),您可以使用您熟悉和喜爱的相同包名称安装包,例如:

  • php
  • php-cli
  • php-common
  • php-devel
  • php-fpm
  • php-gd
  • php-mbstring
  • php-pdo
  • ETC。

答案3

对于任何尝试在 Centos 6.7 上从 PHP 5.6 升级到 7.0.1 的人:

我今天设法让它工作起来,几乎像 @mbalparda 列出的那样,但没有使用 epel-release(尽管一些 epel 存储库已启用并正在使用中)

我从 IUS 获得了 php 5.6(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

答案4

如果您安装了旧版本的 php(例如 5.6),请不要忘记执行以下操作:

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

重新启动 apache 就可以了。

相关内容