Ubuntu环境下有时会遇到PHP不能解析的问题。一般通过
apt-get -y install php7.2 libapache2-mod-php7.2
指令安装PHP 7.2后,即安装了 libapache2-mod-php7.2 libargon2-0 libsodium23 libssl1.1 php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline 这些模块,除此之外,可以用命令安装其他PHP常用模块
apt-get install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml
以下指令可以安装更多的PHP模块。
apt-get install php-pear php-fpm php-dev php-zip php-curl php-xmlrpc php-gd php-mysql php-mbstring php-intl php-xml libapache2-mod-php
安装opcache和apcu优化PHP性能。
apt-get -y install php7.2-opcache php-apcu
Ubuntu 版本升级后,出现PHP不解析的问题,可能是由于旧版本的PHP未禁用,新版本的PHP未启用造成的。
a2dismod php7.1
a2enmod php7.2
上面的指令就是禁用老版本的PHP 7.1,启用PHP 7.2,如果提示 ERROR: Module php7.1 does not exist! 那说明旧版本的PHP已经不存在了,新版本的PHP如果启用一切正常,那么此时的PHP应该可以正常解析了。但如果在启用PHP7.2时提示 ERROR: Module mpm_event is enabled – cannot proceed due to conflicts. It needs to be disabled first! 则需要用以下指令来查看apache2的配置为mpm_event还是mpm_prefork, 如果是mpm_event,则停用掉,启用mpm_prefork。
a2dismod mpm_event
a2enmod mpm_prefork
然后启用PHP 7.2模块
a2enmod php7.2
重启apache2服务
systemctl restart apache2
此时,apache2 PHP模块已经能正常工作了。
太感谢了,终于解决了我的问题,Like this blog,不像有的抄来抄去,经不起验证。