我在本地服務器上有兩個項目,一個項目運行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