PHP是最常用的服务器端编程语言之一。有着许多流行的CMS和框架,例如WordPress,Magento和Laravel都是用PHP编写的。
本教程介绍如何在Debian 9安装PHP并将其与Nginx集成的配置与安装步骤。在撰写本文时,默认的Debian 9软件源包含PHP 7.0版本。
包括安装Nginx,安装PHP扩展,安装并配置php-fpm,测试配置Web/HTTP服务器运行php代码。
我们不建议你在同一系统中同时安装Nginx和Apache,因为Nginx和Apache都监听着80端口,这会引起端口占用的错误。
与Apache不同,Nginx没有对处理PHP文件的内置支持。我们将使用PHP-FPM fastCGI进程管理器来运行PHP文件。
要安装php首先运行命令sudo apt update
更新软件包索引,然后安装php和php-fpm,运行命令sudo apt install php php-fpm
。
sudo apt update
sudo apt install php php-fpm
安装Nginx
Nginx PHP
至此你已经安装PHP和Nginx。现在使用你的喜欢的文本编辑器创建Nginx虚拟主机配置文件/etc/nginx/sites-enabled/example.conf目录中。
在本教程中我们将使用vim编辑器打开文件/etc/nginx/sites-enabled/example.conf
。
复制粘帖nginx虚拟主机配置到/etc/nginx/sites-enabled/example.conf
文件中, 使Nginx可以运行PHP文件。
不要忘记重新启动Nginx服务,运行命令sudo systemctl restart nginx
使nginx配置文件生效。
为了能够正确解释域名example.com
。因此我们还需要映射example.com
到本地回环地址127.0.0.1
。
运行命令echo "127.0.0.1 example.com" | sudo tee -a /etc/hosts
。
sudo vim /etc/nginx/sites-enabled/example.conf
server {
server_name example.com;
root /var/www/html/;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}
sudo systemctl restart nginx
echo "127.0.0.1 example.com" | sudo tee -a /etc/hosts
PHP扩展是已编译的动态库,它扩展了PHP的核心功能。PHP扩展程序作为软件包提供,可以通过apt
安装PHP扩展。
按照惯例PHP扩展的通常是以php开头,接着是版本号,然后是-
和扩展名称。这是通用的格式php-[extname]
。
并不是所有php扩展都可以通过apt命令进行安装,Apt仓库仅提供常用PHP扩展,某些扩展可能需要自己手动编译。
例如,要安装MySQL和GD扩展,您可以运行命令sudo apt install php-mysql php-gd
。
在安装PHP扩展之后,请不要忘记重启Apache或PHP-FPM服务,否则新的PHP扩展不会加载到PHP-FPM。运行命令sudo systemctl restart php-fpm
。
要测试是否已正确配置Web服务器运行PHP,请在/var/www/html
目录中创建一个名为info.php
的新文件。然后保存文件并退出vim。
保存文件后,我们还需要使用chmod命令让info.php
具有可执行权限。运行命令sudo chmod +x /var/www/html/info.php
。
Nginx必须对站点的根目录有读取权限,对于可执行文件,例如php。nginx必须对其有可执行权限,否则nginx返回500内部服务器的错误。
sudo apt install php-mysql php-gd
sudo systemctl restart php7.0-fpm.service
sudo vim /var/www/html/info.php
sudo chmod +x /var/www/html/info.php
<?php
phpinfo();
打开你的浏览器,然后访问http://example.com/info.php
。您将看到您的PHP配置的信息。
结论
在Debian 9服务器安装PHP是一项简单的任务。 您需要做的就是用apt安装软件包。如果您有任何疑问或反馈,请随时发表评论。