如何配置Linux服务器上的PHP
导读:Linux服务器上配置PHP的实用步骤 一 准备与安装 更新系统并安装常用组件(以 Ubuntu/Debian 为例): 更新索引与系统:sudo apt update && sudo apt upgrade -y 安装...
Linux服务器上配置PHP的实用步骤
一 准备与安装
- 更新系统并安装常用组件(以 Ubuntu/Debian 为例):
- 更新索引与系统:sudo apt update & & sudo apt upgrade -y
- 安装 Web 与 PHP:sudo apt install nginx php-fpm php-cli php-mysql php-gd php-curl php-mbstring php-xml php-zip -y
- 其他发行版(按需选择):
- CentOS/RHEL 7:先 yum install epel-release,再添加 webtatic 源后安装 PHP-FPM 与扩展
- Fedora:sudo dnf install php php-fpm php-mysqlnd …
- 验证安装:php -v;查看 php-fpm 状态:sudo systemctl status php-fpm*(匹配已安装版本)。
二 找到并修改 php.ini
- 定位配置文件:php --ini(确认加载的 Loaded Configuration File 路径)
- 常见位置(按 SAPI 区分,版本号以实际为准):
- CLI:/etc/php/{ version} /cli/php.ini
- FPM:/etc/php/{ version} /fpm/php.ini
- Apache 模块:/etc/php/{ version} /apache2/php.ini
- 常用参数建议(编辑后需重启相应服务):
- 时区:date.timezone = Asia/Shanghai
- 内存:memory_limit = 256M
- 上传:upload_max_filesize = 20M;post_max_size = 20M
- 执行时间:max_execution_time = 300
- 错误日志:log_errors = On;error_log = /var/log/php_errors.log
- 生效方式:
- FPM:sudo systemctl restart php{ version} -fpm
- Apache:sudo systemctl restart apache2
- CLI 修改即时生效(无需重启)。
三 与 Web 服务器集成
- Nginx + PHP-FPM(推荐)
- 站点配置示例(/etc/nginx/sites-available/default 或自定义站点):
server { listen 80; server_name your_domain_or_ip; 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:/var/run/php/php{ version} -fpm.sock; # 版本号需与实际一致 fastcgi_index index.php; 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 或自定义站点):
- Apache + mod_php(模块方式)
- 安装模块:sudo apt install libapache2-mod-php{ version}
- 启用模块:sudo a2enmod php{ version}
- 可选:将 index.php 置于 DirectoryIndex 首位(/etc/apache2/mods-enabled/dir.conf)
- 重载:sudo systemctl reload apache2
- 连接方式与要点
- FPM 可与 Web 服务器通过 Unix Socket(如:/var/run/php/php{ version} -fpm.sock)或 TCP(如:127.0.0.1:9000)通信;同机优先用 Unix Socket 性能更佳。
四 测试与验证
- 创建测试文件:sudo nano /var/www/html/info.php
< ?php phpinfo(); - 访问:http://服务器IP或域名/info.php,看到 PHP 信息页即表示解析正常
- 安全建议:验证完成后删除 info.php,避免泄露环境信息。
五 常见问题与优化
- 修改未生效
- 确认编辑的是正确的 php.ini(CLI 与 FPM/Apache 可能不同);修改后重启 php-fpm 或 Apache;用 php --ini 复核加载路径。
- 找不到 php.ini
- 执行 php --ini 查看 Loaded Configuration File;若为空,可能未安装对应 SAPI 或路径异常。
- 上传/内存不足
- 调整 upload_max_filesize、post_max_size、memory_limit;同时关注 max_execution_time 与 max_input_vars。
- FPM 进程与性能
- 编辑 /etc/php/{
version}
/fpm/pool.d/www.conf:
- 进程管理(动态/静态):pm = dynamic/static
- 关键参数:pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers
- 通信方式:listen = /run/php/php{ version} -fpm.sock(同机)或 127.0.0.1:9000(跨机/集群)
- 编辑 /etc/php/{
version}
/fpm/pool.d/www.conf:
- 防火墙与端口
- 确保 80/443 端口开放(云服务器安全组/系统防火墙);Nginx/Apache 启动后访问公网 IP 验证。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何配置Linux服务器上的PHP
本文地址: https://pptw.com/jishu/772460.html
