如何强制httpd使用红帽软件集合中的rh-php56

时间:2015-07-01 16:32:26

标签: apache rhel7 software-collections

任何人都有运气从红帽软件系列中使用rh-php56吗?

我看到有关如何在CLI中启用较新版本的php的文档...但不是为了让Apache使用通过rh-php56软件包安装的新版PHP。

(我应该澄清 - 这是针对RHEL 7.x的方框)

3 个答案:

答案 0 :(得分:5)

rh-php56仅为httpd24提供mod_php(不适用于基本系统)

更简单的方法是使用php-fpm(也允许以线程模式运行apache)

请参阅:

总结以上帖子,请在/etc/httpd/conf.d/php.conf中使用

# Redirect to local php-fpm is mod_php not available
<IfModule !mod_php5.c>
    <FilesMatch \.php$>
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
</IfModule>

答案 1 :(得分:1)

将LoadModule命令添加到httpd.conf并将其从RHSCL指向php56模块:

LoadModule php5_module /opt/rh/httpd24/root/usr/lib64/httpd/modules/librh-php56-php5.so

这通常对我有用,但我只测试了基本的页面渲染。如果在常规Apache配置中加载特殊集合模块有一些错误,我不会感到惊讶。毕竟,RH Special Collections包有意安装到文件系统的完全不同的部分以避免冲突。您可能需要考虑使用RHSCL中的HTTPD24和PHP56来避免配置问题。

答案 2 :(得分:0)

我最近不得不在RHEL 7机器上处理升级到php56的一些PHP webapps。我查看了httpd24路由,由于某些原因,将nginx RHEL包与rh-php56-phprh-php56-php-fpm一起使用似乎要简单得多。

  1. 安装所需的rh-php56-php个套件
  2. 启用并启动rh-php56-php-fpm systemd服务并在php-fpm中配置/etc/opt/rh/rh-php56/(即编辑php-fpm.confphp-fpm.d/www.conf文件)。您需要决定是否要让php-fpm在unix套接字或至少通过TCP监听,并且正确配置日志记录以帮助进行故障排除也是一个好主意。
  3. 配置nginx代理您的php-fpm unix套接字或TCP地址,例如localhost:9000。关于php-fpm和Drupal / Mediawiki / Wordpress等的nginx配置有很多可谷歌资源。