当前位置:首页 > 云服务器 > 正文

如何配置php服务器?php服务器配置指南详解

配置PHP服务器通常涉及安装Web服务器(如Apache或Nginx)、PHP及必要的扩展,以下是详细步骤:


安装Web服务器

Apache (Ubuntu/Debian)

sudo apt update sudo apt install apache2 sudo systemctl enable apache2

Nginx (Ubuntu/Debian)

sudo apt update sudo apt install nginx sudo systemctl enable nginx


安装PHP及扩展

# 添加PHP仓库(以PHP 8.1为例) sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update # 安装PHP核心和常用扩展 sudo apt install php8.1 php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip


配置Web服务器

Apache 配置

  1. 启用PHP模块: sudo a2enmod php8.1
  2. 修改默认文件优先级(优先解析 .php): sudo nano /etc/apache2/mods-enabled/dir.conf

    将 index.php 移到最前:

    如何配置php服务器?php服务器配置指南详解 第1张

    <IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </IfModule>
  3. 重启Apache: sudo systemctl restart apache2

Nginx 配置

  1. 编辑站点配置文件: sudo nano /etc/nginx/sites-available/default
  2. 在 server 块中添加PHP支持: location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 确认PHP版本路径 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
  3. 测试配置并重启Nginx: sudo nginx -t sudo systemctl restart nginx


配置PHP

核心设置

编辑 php.ini:

sudo nano /etc/php/8.1/fpm/php.ini # Nginx使用 sudo nano /etc/php/8.1/apache2/php.ini # Apache使用

常用修改项:

如何配置php服务器?php服务器配置指南详解 第2张

upload_max_filesize = 32M post_max_size = 48M memory_limit = 256M max_execution_time = 300 date.timezone = Asia/Shanghai

重启服务

# Apache sudo systemctl restart apache2 # Nginx + PHP-FPM sudo systemctl restart nginx php8.1-fpm


测试PHP

创建测试文件:

如何配置php服务器?php服务器配置指南详解 第3张

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

访问 http://your-server-ip/info.php,确认显示PHP信息页。


安全加固

  • 删除测试文件: sudo rm /var/www/html/info.php
  • 防火墙规则: sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS


虚拟主机配置(可选)

Apache

sudo nano /etc/apache2/sites-available/example.com.conf ```示例: ```apache <VirtualHost *:80> ServerName example.com DocumentRoot /var/www/example.com <Directory /var/www/example.com> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>

启用站点:

sudo a2ensite example.com.conf sudo systemctl reload apache2

Nginx

sudo nano /etc/nginx/sites-available/example.com ```示例: ```nginx server { listen 80; server_name example.com; root /var/www/example.com; index index.php index.html; location / { try_files $uri $uri/ =404; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } }

启用站点:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx


故障排除

  1. 检查服务状态: sudo systemctl status apache2 nginx php8.1-fpm
  2. 查看日志: tail -f /var/log/apache2/error.log # Apache tail -f /var/log/nginx/error.log # Nginx journalctl -u php8.1-fpm # PHP-FPM


按照以上步骤,即可完成PHP服务器的配置,根据实际需求调整Web服务器类型、PHP版本及扩展。

0