[英]PhpStorm project still using PHP5 even though I installed PHP7 and added it as an interpreter
[英]Apache2 still running PHP5 when PHP7 is installed
我設置了一個apache2服務器,它正在運行PHP5。 我已按照此指南安裝PHP7: https ://www.digitalocean.com/community/tutorials/how-to-upgrade-to-php-7-on-ubuntu-14-04
現在,當我運行php -v時,我得到:
PHP 7.0.30-1+ubuntu14.04.1+deb.sury.org+1 (cli) (built: May 2 2018 13:00:43) ( NTS )
但是,當我在apache上制作一個網頁並回顯phpinfo()時,我得到了:
PHP Version 5.5.9-1ubuntu4.24
如何告訴apache2使用PHP7?
php -v
為您提供了php-cli的版本,要在apache2中啟用它,您必須運行以下commonads
sudo a2dismod php5
sudo a2enmod php7.0
sudo service apache2 restart
然后檢查phpinfo()的版本。 它應該改變。
更深入地閱讀該文章,許多人說在運行$sudo apt-get install php7.0
因為“未滿足的依賴性”。 執行以下$sudo apt-get install libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-json
以確保您擁有所需的一切。 祝好運!
您為apache2安裝了新版本的php,但您需要禁用/刪除到舊php5.x的符號鏈接,並啟用/添加新php7.x的符號鏈接。 @節奏Shahriar指出。
但是這里是從https://askubuntu.com/questions/760907/upgrade-to-16-04-php7-not-working-in-browser中采取和編輯的完整步驟
要將php7.x配置為與apache2服務器一起運行,您需要進行一些配置:
1.確保您刪除了php / php5.x的所有痕跡
cd /etc/apache2/mods-enabled
ls -la
輸出不應包含任何php5.x.conf
或php5.x.load
,但如果包含,請執行以下操作:
# this is the proper way of disabling modules
sudo a2dismod php5.x
# run this only if the above command didn't remove the php5.x sym-links
sudo rm php5.x.load
sudo rm php5.x.conf
現在添加php7.x.conf
和php7.x.load
代替:
# this is the proper way of enabling modules
sudo a2enmod php7.x
# run this only if the above command didn't create the php7.x sym-links
sudo ln -s php7.x.conf ../mods-available/php7.x.conf
sudo ln -s php7.x.load ../mods-available/php7.x.load
ls -la php*
的輸出應如下所示:
lrwxrwxrwx 1 root root 29 Apr 15 03:55 php7.x.conf -> ../mods-available/php7.x.conf
lrwxrwxrwx 1 root root 29 Apr 15 03:55 php7.x.load -> ../mods-available/php7.x.load
處理完模塊之后,我們現在進入/etc/apache2/conf-enabled
目錄。 通過sudo rm <name>
也在此處刪除任何php / php5.x的痕跡
然后,如果需要,請執行以下操作:
# the proper way of enabling configs
sudo a2enconf php7.x-cgi
sudo a2enconf php7.x-fpm
# do those commands only if the above didn't work out
sudo ln -s php7.x-cgi.conf ../conf-available/php7.x-cgi.conf
sudo ln -s php7.x-fpm.conf ../conf-available/php7.x-fpm.conf
ls -la php*
的輸出應如下所示:
lrwxrwxrwx 1 root root 33 Apr 21 17:00 php7.x-cgi.conf -> ../conf-available/php7.x-cgi.conf
lrwxrwxrwx 1 root root 33 Apr 21 17:01 php7.x-fpm.conf -> ../conf-available/php7.x-fpm.conf
2.重新啟動Apache2
重新啟動Apache之前,請確保清除Apache error.log然后重新啟動:
sudo su
> /var/log/apache2/error.log
exit
sudo service apache2 restart
現在,通過發出cat /var/log/apache2/error.log | less
檢查error.log
cat /var/log/apache2/error.log | less
cat /var/log/apache2/error.log | less
(通過更少的管道滾動,您可以輕松地上下滾動, q
退出輸出)。
如果您的error.log
包含許多(實際上是一堆 ) MIBS not found
請執行以下操作:
sudo apt install libsnmp-dev
sudo net-snmp-config --snmpconfpath
sudo apt-get install snmp snmp-mibs-downloader
sudo su
> /var/log/apache2/error.log
exit
sudo service apache2 restart
然后再次檢查error.log
,現在它應該只包含3行:
[Sat Apr 23 01:39:07.504005 2016] [mpm_prefork:notice] [pid 1647] AH00169: caught SIGTERM, shutting down
[Sat Apr 23 01:39:08.685774 2016] [mpm_prefork:notice] [pid 9590] AH00163: Apache/2.4.18 (Ubuntu) mod_perl/2.0.9 Perl/v5.22.1 configured -- resuming normal operations
[Sat Apr 23 01:39:08.685938 2016] [core:notice] [pid 9590] AH00094: Command line: '/usr/sbin/apache2'
現在應該正確配置帶有php7.x的Apache。 經過測試,可以在Ubuntu 16.04上從php5.6升級到最新的php7.3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.