run*_*wuf 20
以下命令假定您已经sudo su -或者您必须为每个命令添加sudo:
yum install httpd -y
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install yum-utils -y
yum install php56 -y
yum install php72 -y
yum install php56-php-fpm -y
yum install php72-php-fpm -y
Run Code Online (Sandbox Code Playgroud)
systemctl stop php56-php-fpm
systemctl stop php72-php-fpm
Run Code Online (Sandbox Code Playgroud)
sed -i 's/:9000/:9056/' /etc/opt/remi/php56/php-fpm.d/www.conf
sed -i 's/:9000/:9072/' /etc/opt/remi/php72/php-fpm.d/www.conf
Run Code Online (Sandbox Code Playgroud)
systemctl start php72-php-fpm
systemctl start php56-php-fpm
Run Code Online (Sandbox Code Playgroud)
使脚本包装器调用php56-cgi和php72-cgi
cat > /var/www/cgi-bin/php56.fcgi << EOF
#!/bin/bash
exec /bin/php56-cgi
EOF
cat > /var/www/cgi-bin/php72.fcgi << EOF
#!/bin/bash
exec /bin/php72-cgi
EOF
Run Code Online (Sandbox Code Playgroud)
sudo chmod 755 /var/www/cgi-bin/php56.fcgi
sudo chmod 755 /var/www/cgi-bin/php72.fcgi
Run Code Online (Sandbox Code Playgroud)
cat > /etc/httpd/conf.d/php.conf << EOF
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
AddHandler php56-fcgi .php
Action php56-fcgi /cgi-bin/php56.fcgi
Action php72-fcgi /cgi-bin/php72.fcgi
<Directory /var/www/html/php56>
DirectoryIndex index.php
AllowOverride all
Require all granted
</Directory>
<Directory /var/www/html/php72>
DirectoryIndex index.php
AllowOverride all
Require all granted
</Directory>
EOF
Run Code Online (Sandbox Code Playgroud)
mkdir -p /var/www/html/php56
mkdir -p /var/www/html/php72
echo "<?php phpinfo(); ?>" > /var/www/html/php56/index.php
echo "<?php phpinfo(); ?>" > /var/www/html/php72/index.php
echo "AddHandler php72-fcgi .php" > /var/www/html/php72/.htaccess
Run Code Online (Sandbox Code Playgroud)
(http://127.0.0.1/php56)
(http://127.0.0.1/php72)
sudo systemctl enable httpd
sudo systemctl enable php56-php-fpm
sudo systemctl enable php72-php-fpm
Run Code Online (Sandbox Code Playgroud)
正如@runwuf所解释的那样,可以使用centos-scl存储库或remi存储库中提供的软件集合.
但是由于httpd 2.4,使用SetHandler来快速代理似乎是一种更好,更现代的方式:
SetHandler "proxy:fcgi://127.0.0.1:9000"
Run Code Online (Sandbox Code Playgroud)
一些博客文章解释了这一点:
看起来您正在尝试做的事情与此类似:
我个人不想在同一个 apache 实例上尝试两个 php 版本...我会通过 tarball 安装不同版本的 php 并在也通过 tarball 安装的单独的 apache 实例上运行它们,并将每个 httpd.conf 指向不同的php 的版本。
| 归档时间: |
|
| 查看次数: |
28496 次 |
| 最近记录: |