我在本地服务器上有两个项目,一个项目运行PHP5.6,另一个运行PHP7.0。现在可以根据项目启用这两个版本吗?我已经尝试在其中一个项目htaccess中添加AddHandler application/x-httpd-php7 .php
,但它不起作用。目前,服务器上已经安装了PHP7.0和PHP5.6-fpm。以下是phpinfo的截图。在同一台服务器上运行两个PHP版本
回答
打完了整整一天在谷歌搜索。我设法在不同的php版本中运行FastCgi中的两个项目。感谢这个forum的家伙。我卸载了包括apache在内的所有东西,然后重新开始。以下是我用于在本地服务器上启用两个版本的PHP的步骤。顺便说一句,我的电脑上的Linux Mint的18
- 运行假设你已经安装了Apache,创造了这两个项目的虚拟主机,并添加了必要的PHP的PPA。让我们调用项目site56.local为php5.6和site70.local为php7.0。通过运行安装php5.6-fpm和php7.0-fpm。
须藤易于得到安装php5.6-FPM
须藤易于得到安装php7.0-FPM
- 创建两个文件在/ usr/lib/cgi-bin /下(老实说我不知道这一步是否仍然有必要),然后保存。
打开php56 conf文件”/etc/apache2/conf-available/php5.6-fpm.conf“并添加此配置并保存。
现在启用新的Apache配置。
须藤纳米/ usr/lib中/的cgi-bin/php56-FCGI
须藤纳米/ usr/lib中/的cgi-bin/php70-FCGI
须藤a2enconf php5.6-FPM
如果你想用PHP 5.5.9而不是PHP 5.6,那么你需要安装php5 -fpm 另外,php5-fpm的内容。 conf文件应该在此链接中:https://pastebin.com/3UgdxNV7 –
在尝试按照你的指示之后,我找到了一个可能更简单的方法来获得相同的结果。
通过添加以下行
ProxyPassMatch "^/php70project/.*\.php(/.*)?$" "fcgi://localhost:9070/var/www/" enablereuse=on
在Apache虚拟主机配置
,你可以在你的虚拟主机的根在/ var/WWW目录更改php70project里面的PHP版本7版本运行作为FastCGI的。
以下方法为使用Unix套接字
ProxyPassMatch "^/php70project/.*\.php(/.*)?$" "unix:/var/run/php70fpm.sock|fcgi://localhost/var/www"
按预期不工作。 不幸的是,我不能找到正确的代码来得到这个工作,但由于没有一个例子,使用该子页面上的子文件夹使用unix套接字https://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.html它可能是不可能的。
它不适用于debian 9 Stretch。我花了一段时间来firgure出来做什么,但最后我发现这似乎更容易的解决方案:
sudo apt-get install php5.6-fpm
sudo apt-get install php7.0-fpm
sudo a2enconf php5.6-fpm
如果安装php5.6和php5.7,请确保您禁用此两重启阿帕奇。
sudo a2dismod php5.6 php7.0
sudo systemctl restart apache2
在这一点上,所有的网站必须在PHP 5.6上工作。
对于谁需要PHP 7点,在虚拟主机中加入这一行:
ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php/php7.0-fpm.sock|fcgi://localhost/path/to/my/main/file"
它应该做的伎俩:)
我试图执行Makubex的解决方案,它的工作。刚刚安装的LAMP只有一个问题,那就是fastcgi没有启用。 我刚刚使用以下脚本安装了php,之后启用了fastcgi。
sudo apt-get install libapache2-mod-fastcgi php5.6-fpm php5.6 php5.6-dev php5.6-mcrypt php5.6-mbstring php5.6-mysql php5.6-zip php5.6-gd php5.6-xml php7.1-fpm libapache2-mod-fastcgi php7.1-fpm php7.1 php7.1-dev php7.1-mbstring php7.1-mysql php7.1-zip php7.1-gd php7.1-xml php7.1-curl php7.1-intl php7.1-json php7.1-mcrypt
然后:
a2enmod actions
a2enmod fastcgi
在此之后,该解决方案完美地工作。 我从Run multiple PHP version on the same server using php-fpm and xdebug on Ubuntu 16.04
首先拿到了两个以上,确保所有的PHP相关configraution是禁用的运行以下命令:
#LS -la的/ etc/apache2的/启用的conf-| grep php
#ls -la/etc/apache2/mods-enabled | grep的PHP
设置不同版本的PHP-FPM的特定部位:
添加下面一行在现有的虚拟主机文件。
Include "conf-available/php7.2-fpm.conf"
例如,
#VIM /etc/apache2/sites-enabled/symfony.local.conf
<VirtualHost *:80>
ServerName symfony.local
Include "conf-available/php7.2-fpm.conf"
ServerAdmin [email protected]
DocumentRoot /var/www/symfony.local/curr/public
<Directory /var/www/symfony.local/curr/web>
AllowOverride All
</Directory>
</VirtualHost>
- 1. 运行在同一台服务器上的两个PHP版本(拉伸)
- 2. 在同一台服务器上有两个ODP.NET(ODAC)版本
- 3. 在同一台机器上运行两个Jetty服务器
- 4. 在同一台服务器上运行PHP 5.4和PHP 7
- 5. PHP脚本可以在一台服务器上运行,但不能在另一台服务器上运行
- 6. Java查找两台服务器是否在同一台机器上运行
- 7. 如何在一台服务器上运行两个django项目
- 8. 如何在同一台服务器上使用两个版本的乘客?
- 9. 如何在singile服务器上运行多个php版本
- 10. 在一台服务器上通过Cronjob运行但未在类似服务器上运行的PHP脚本
- 11. 脚本在同一台服务器上运行,但不在远程服务器上时运行
- 12. 我可以在同一台计算机上运行两台Web服务器吗?
- 13. 在同一台服务器上同时运行WAMP和IIS
- 14. 在同一台服务器上为不同环境运行delayed_job
- 15. 同一台服务器上不同版本的abcpdf
- 16. Ubuntu Mysql版本4.1.22和5.6在同一台服务器上
- 17. 在同一台服务器上运行多个Microsoft主数据服务实例
- 18. 在同一台PC上安装Windows服务的多个版本
- 19. 在同一台计算机上运行多个版本的OpenCV
- 20. 在同一台服务器上运行Railo和Adobe Coldfusion服务器
- 21. phpBB3 mod可以在一台服务器上运行,但不会在另一台服务器上运行
- 22. 从PHP脚本在另一台服务器上运行Powershell脚本?
- 23. 在同一台服务器上运行JBoss 4.2.3和JBoss 5.1
- 24. Mod_rails和mongrel在同一台服务器上运行?
- 25. 在同一台服务器上运行Trac 0.12和Agilo/Trac 0.11.7
- 26. mod_perl和Passenger如何在同一台Apache服务器上运行?
- 27. 在同一台服务器上的两个Laravel安装问题
- 28. 如何在同一台服务器上使用两个ssh
- 29. 在同一台IIS服务器上浏览两个网站
- 30. docker-compose - 运行两个服务来执行一个PHP脚本
什么是你'MOD-enabled'的输出Apache目录?你确定你已经启用了php5.x和php7.0x吗? – hassan
http://askubuntu.com/questions/50344/how-to-have-two-version-of-php-installed-and-switch-easily This –
嗨@HassanAhmed,只有php7.0和php5.6-fpm已启用。当我启用php5.6 Apache崩溃。也许它弄糊涂得到什么版本。 – Makubex