Linux服务器上PHP如何配置
导读:Linux服务器上PHP配置全流程 一 安装与基础检查 更新索引并安装所需组件(以 Ubuntu/Debian 为例): 安装 Web 与 PHP:sudo apt update && sudo apt install...
Linux服务器上PHP配置全流程
一 安装与基础检查
- 更新索引并安装所需组件(以 Ubuntu/Debian 为例):
- 安装 Web 与 PHP:sudo apt update & & sudo apt install nginx php-fpm php-mysql php-cli php-gd php-curl php-mbstring php-xml php-zip
- 安装 Apache 方案:sudo apt install apache2 libapache2-mod-php
- 其他发行版常用命令:
- CentOS/RHEL:sudo yum install php php-fpm php-mysqlnd(或使用 dnf)
- 验证安装:php -v;查看加载的配置:php --ini(确认 Loaded Configuration File 路径)。
二 配置文件与关键参数
- 配置文件位置(按 SAPI 区分,版本号以实际为准,如 7.4/8.1/8.2):
- FPM/CLI:/etc/php/{ version} /fpm/php.ini、/etc/php/{ version} /cli/php.ini
- Apache 模块:/etc/php/{ version} /apache2/php.ini
- 常用参数建议(在 php.ini 中调整):
- 资源与执行:memory_limit = 256M、max_execution_time = 30
- 上传与请求:upload_max_filesize = 20M、post_max_size = 8M(注意通常 post_max_size ≥ upload_max_filesize)
- 错误与日志:error_reporting = E_ALL、display_errors = Off(生产环境建议关闭显示,写入日志)、error_log = /var/log/php-fpm/error.log
- 时区:date.timezone = Asia/Shanghai
- 生效方式:修改后重启对应服务(见第四节)。
三 与 Web 服务器集成
- Nginx + PHP-FPM(推荐)
- 站点配置示例(/etc/nginx/sites-available/default 或 yourdomain.com):
server { listen 80; server_name yourdomain.com; root /var/www/html; index index.php index.html; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php{ version} -fpm.sock; # 按实际版本调整 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } } - 检查并重载:sudo nginx -t & & sudo systemctl reload nginx
- 站点配置示例(/etc/nginx/sites-available/default 或 yourdomain.com):
- Apache + mod_php
- 启用模块与默认索引:sudo a2enmod php{ version} ;编辑 /etc/apache2/mods-enabled/dir.conf 将 index.php 置于 DirectoryIndex 首位
- 重启:sudo systemctl restart apache2
- 目录与权限:确保 /var/www/html 可被 www-data(或相应运行用户)读取。
四 PHP-FPM 进程与性能优化
- 核心池配置(/etc/php/{
version}
/fpm/pool.d/www.conf):
- 监听与权限:listen = /run/php/php{ version} -fpm.sock;listen.owner = www-data、listen.group = www-data;user = www-data、group = www-data
- 进程管理(示例,按内存与并发调优):
- pm = dynamic
- pm.max_children = 50
- pm.start_servers = 5
- pm.min_spare_servers = 1
- pm.max_spare_servers = 3
- pm.max_requests = 500
- 超时与日志:request_terminate_timeout = 30s;slowlog = /var/log/php-fpm/slow.log;request_slowlog_timeout = 10s
- 启动与开机自启:sudo systemctl start php{ version} -fpm & & sudo systemctl enable php{ version} -fpm。
五 测试与排错
- 创建测试文件:sudo nano /var/www/html/info.php,内容:
访问 http://服务器IP/info.php,确认 PHP 版本、SAPI、Loaded Configuration File、扩展 是否正常。< ?php phpinfo(); ?> - 常见问题速查
- 502/504:检查 PHP-FPM 是否运行、套接字路径(如 /run/php/php{ version} -fpm.sock)与 Nginx fastcgi_pass 是否一致,查看 /var/log/php-fpm/error.log 与 Nginx error.log
- 上传受限:核对 upload_max_filesize 与 post_max_size,并确保 Nginx 未设置更小的 client_max_body_size
- 权限问题:确认 /var/www/html 及日志目录对 www-data 可读写
- 找不到 php.ini:执行 php --ini 确认加载路径,再编辑对应 SAPI 的 ini 文件。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux服务器上PHP如何配置
本文地址: https://pptw.com/jishu/766250.html
