如何在UBUNTU 16.04 LTS(XENIAL XERUS)上安装PHP 7.0(PHP-FPM)

本文解释如何在Ubuntu 16.04 LTS(Xenial Xerus)上安装PHP 7.0(php-fpm)。在开始之前需要安装好诸如Nginx或Apache之类的http服务器。

1.初步步骤

首先,通过运行以下命令确保你的系统和apt包列表是最新版:

apt-get update -y && apt-get upgrade -y

-y参数的意思是可以在不提示我们的情况下更新。

2.安装PHP 7.0

Ubuntu默认安装FastCGI Process Manager,也就是php-fpm。要安装PHP 7.0(和php7.0-fpm),需要的命令是:

apt-get install php -y

检查php7.0-fpm是否正在运行:

systemctl status php7.0-fpm

如果它没有运行,则通过以下命令启动php7.0-fpm服务:

systemctl start php7.0-fpm

设置php7.0-fpm在重启时启动:

systemctl enable php7.0-fpm

3.配置PHP 7.0以使用Apache 2.4

本节假定你已经安装了Apache 2.4。只需很少的配置就可以让PHP 7.0和Apache 2.4正常工作。

你可以设置Apache执行文件后缀的优先级,编辑默认站点的配置文件:

vi /etc/apache2/sites-available/000-default.conf

在VirtualHost *:80块内找到这一行:

DocumentRoot / var / www / html

在它后面添加以下行,然后保存并退出:

DirectoryIndex index.php index.html

index.php和index.html的顺序决定哪一个优先。

重新启动Apache:

systemctl restart apache2

创建一个测试index.php文件:

vi /var/www/html/index.php

粘贴下面的代码,然后保存并退出文件:

<?php
echo “Hello world!”;
?>

再次在浏览器中输入服务器的IP地址,你应该看到文本“Hello world!”。而不是缺省的Apache页面。

若没有看到(显示源代码或其他不正常的情况)请校验apache是否载入PHP模块

a2query -m php7.0

若没有载入,则执行下面的命令加载模块

a2enmod php7.0

另外还有一种情况就是你没有安装libapache2-mod-php7.0

apt-get install libapache2-mod-php7.0 -y

安装完成后执行前两步步骤。

最后重启apache

systemctl restart apache2

4.配置PHP 7.0以使用Nginx

本节假定你已经安装了Nginx。Nginx需要比Apache更多的配置才能使它和PHP 7.0一起工作。

首先,创建一个测试index.php文件:

vi /var/www/html/index.php

粘贴下面的代码,然后保存并退出文件:

<?php
echo “Hello world,I’m PHP!”;
?>

现在编辑deafult Nginx配置文件:

vi/etc/nginx/sites-available/default

找到以下行:

index index.html index.htm index.nginx-debian.html;

添加index.php:

index index.php index.html index.htm index.nginx-debian.html;

index.php,index.html,index.htm和index.nginx-debian.html的顺序确定哪个优先,并且由Nginx首先加载。

找到以下几行:

#location ~ \.php$ {
#       include snippets/fastcgi-php.conf;
#
#       # With php7.0-cgi alone:
#       fastcgi_pass 127.0.0.1:9000;
#       # With php7.0-fpm:
#       fastcgi_pass unix:/run/php/php7.0-fpm.sock;
#}

修改如下:

location ~ \.php$ {
       include snippets/fastcgi-php.conf;

       # With php7.0-cgi alone:
       #fastcgi_pass 127.0.0.1:9000;
       # With php7.0-fpm:
       fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

保存并退出。

现在重新启动php7.0-fpm和nginx:

systemctl restart php7.0 -fpm
systemctl restart nginx

在浏览器中再次浏览到服务器的IP地址,您应该看到文字“Hello world,I’m PHP!” 而不是默认的Nginx页面。

猜你喜欢

转载自blog.csdn.net/l_Laity/article/details/79609481