Tho*_*ard 82
就像以前一样,您必须为 Apache 安装 PHP。
从服务器指南:
sudo apt install php libapache2-mod-php
Run Code Online (Sandbox Code Playgroud)
该命令将安装 PHP 和 Apache 2 PHP 模块。像以前一样简单地配置 Apache(sudo a2enmod php7.0我认为,会打开模块)。
您的mbstring问题类似 - 您需要安装该扩展程序:
sudo apt install php7.0-mbstring
Run Code Online (Sandbox Code Playgroud)
对于其他缺少的模块,也必须安装类似的东西。
Vid*_*uth 41
要将 php7 配置为与您的服务器一起运行,您需要进行一些配置:
1. 确保删除任何痕迹 php/php5
打开终端Ctrl+ Alt+T和:
cd /etc/apache2/mods-enabled
ls -la
Run Code Online (Sandbox Code Playgroud)
输出应该不包含任何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
Run Code Online (Sandbox Code Playgroud)
现在添加php7.0.confandphp7.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
Run Code Online (Sandbox Code Playgroud)
的输出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
Run Code Online (Sandbox Code Playgroud)
处理完模块后,我们现在来到 /etc/apache2/conf-enabled目录。在这里也删除任何 php/php5 痕迹sudo rm <name>
然后,如果需要,请执行以下操作:
# 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
Run Code Online (Sandbox Code Playgroud)
的输出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
Run Code Online (Sandbox Code Playgroud)
2.重启Apache2
在重新启动 Apache 之前,请确保清除 Apacheerror.log然后重新启动:
sudo su
> /var/log/apache2/error.log
exit
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
现在检查error.log通过发出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
Run Code Online (Sandbox Code Playgroud)
再次检查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'
Run Code Online (Sandbox Code Playgroud)
现在应该正确配置带有 php7.0 的 Apache。
小智 14
我也遇到了这个问题。
它帮助我删除了所有 PHP 并重新安装了 php7。
所需要的只是:
sudo apt-get purge php*
Run Code Online (Sandbox Code Playgroud)
php7 将被删除,之后只需重新安装:
sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7.0
Run Code Online (Sandbox Code Playgroud)
小智 8
我的情况不仅是 php 不起作用,而且 phpmyadmin 我也是这样一步一步地做的
sudo apt install php libapache2-mod-php
sudo apt install php7.0-mbstring
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
service apache2 restart
Run Code Online (Sandbox Code Playgroud)
然后到:
gksu gedit /etc/apache2/apache2.conf
Run Code Online (Sandbox Code Playgroud)
在最后一行我添加 Include /etc/phpmyadmin/apache.conf
解决所有问题
我为这个问题找到的解决方案是 short_open_tag 的默认 PHP.INI 设置。默认情况下,这设置为“关闭”。我的 PHP 代码以
<?
Run Code Online (Sandbox Code Playgroud)
代替
<?php
Run Code Online (Sandbox Code Playgroud)
如果启用了 short_open_tag(通过在我的 php.ini 中将 'Off' 更改为 'On')并重置 apache 服务器 ( sudo service apache2 restart),PHP 就会活跃起来。
| 归档时间: |
|
| 查看次数: |
210314 次 |
| 最近记录: |