要配置php7以在您的服务器上运行,您需要进行一些配置:
1. 确保删除任何与php/php5相关的痕迹
打开终端
Ctrl+
Alt+
T并执行以下操作:
cd /etc/apache2/mods-enabled
ls -la
иѕ“е‡єдёдёЌеє”еЊ…еђ«д»»дЅ•`php5.conf`ж€–`php5.load`,但如果有的话,请执行以下操作:
# this is the proper way of disabling modules
sudo a2dismod php5
# run this only if the above command didn't remove the php5 sym-links
sudo rm php5.load
sudo rm php5.conf
现在添加
php7.0.conf
和
php7.0.load
代替:
# this is the proper way of enabling modules
sudo a2enmod php7.0
# run this only if the above command didn't create the php7.0 sym-links
sudo ln -s php7.0.conf ../mods-available/php7.0.conf
sudo ln -s php7.0.load ../mods-available/php7.0.load
ls -la php*
的输出应该是这样的:
lrwxrwxrwx 1 root root 29 Apr 15 03:55 php7.0.conf -> ../mods-available/php7.0.conf
lrwxrwxrwx 1 root root 29 Apr 15 03:55 php7.0.load -> ../mods-available/php7.0.load
在处理模块之后,我们现在来到
/etc/apache2/conf-enabled
目录。同样地,通过
sudo rm <name>
命令删除这里的任何php/php5痕迹。
然后,如果需要的话,执行以下操作:
# the proper way of enabling configs
sudo a2enconf php7.0-cgi
sudo a2enconf php7.0-fpm
# do those commands only if the above didn't work out
sudo ln -s php7.0-cgi.conf ../conf-available/php7.0-cgi.conf
sudo ln -s php7.0-fpm.conf ../conf-available/php7.0-fpm.conf
ls -la php*
的输出应该如下所示:
lrwxrwxrwx 1 root root 33 Apr 21 17:00 php7.0-cgi.conf -> ../conf-available/php7.0-cgi.conf
lrwxrwxrwx 1 root root 33 Apr 21 17:01 php7.0-fpm.conf -> ../conf-available/php7.0-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
文件(通过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'
您的Apache与php7.0现在应该已正确配置。
php
命令)与其他PHP SAPI(apache2,FPM,CGI等)是正交的,因此命令行PHP的工作并不能说明在HTTP服务器中的PHP是否工作。 - oerdnjsudo apt-get install php-mbstring
(谁能想到呢,对吧?) - oerdnj