温馨提示×

centos php配置项有哪些

小樊
42
2025-10-19 15:29:57
栏目: 编程语言

CentOS下PHP配置的主要分类及关键配置项

一、主配置文件(php.ini)

php.ini是PHP的核心配置文件,负责全局设置,通常位于/etc/php.ini(CentOS默认路径)。常见配置项包括:

  • 基础性能memory_limit(脚本最大内存限制,如256M)、max_execution_time(脚本最大执行时间,如30秒)、upload_max_filesize(单个上传文件大小,如10M)、post_max_size(POST请求最大数据量,需大于upload_max_filesize,如12M)。
  • 错误处理display_errors(生产环境建议设为Off,避免敏感信息泄露)、log_errors(开启错误日志,如On)、error_log(日志文件路径,如/var/log/php_errors.log)、error_reporting(错误报告级别,如E_ALL)。
  • 时区设置date.timezone(如Asia/Shanghai,避免时间显示异常)。
  • 文件上传file_uploads(是否允许文件上传,设为On)、upload_tmp_dir(上传文件临时目录,需确保可写)。
  • 扩展加载:通过extension=模块名.so(如extension=mysqli.so)加载动态扩展,或通过/etc/php.d/目录下的.ini文件(如opcache.ini)启用扩展。

二、PHP-FPM配置(若使用PHP-FPM)

PHP-FPM(FastCGI进程管理器)用于优化PHP性能,配置文件通常位于/etc/php-fpm.d/www.conf(CentOS默认路径)。常见配置项包括:

  • 进程管理pm(进程管理模式,推荐dynamic动态调整)、pm.max_children(最大子进程数,根据服务器内存计算,如50)、pm.start_servers(启动时的子进程数,如5)、pm.min_spare_servers(最小空闲子进程数,如5)、pm.max_spare_servers(最大空闲子进程数,如35)、pm.max_requests(每个子进程处理的最大请求数,防止内存泄漏,如500)。
  • 监听设置listen(监听方式,可选Unix socket如/run/php-fpm/www.sock或TCP端口如127.0.0.1:9000,Unix socket性能更优)、listen.owner/listen.group(监听文件的属主/属组,需与Web服务器用户一致,如nginx/nginx)。
  • 用户/组权限user/group(PHP-FPM进程运行的用户/组,如nginx/nginx,需与Web服务器用户一致)。

三、Web服务器配置(Nginx/Apache)

需配置Web服务器与PHP处理器(PHP-FPM或mod_php)通信:

  • Nginx配置:在站点配置文件(如/etc/nginx/conf.d/default.conf)中添加location ~ \.php$块,关键配置包括:fastcgi_pass(指向PHP-FPM的监听地址,如unix:/run/php-fpm/www.sock127.0.0.1:9000)、fastcgi_param SCRIPT_FILENAME(脚本文件路径,如$document_root$fastcgi_script_name)、include fastcgi_params(引入FastCGI参数)。
  • Apache配置:需启用mod_php模块(sudo yum install mod_php)和mod_proxy_fcgi模块(sudo yum install mod_proxy_fcgi),在虚拟主机配置中添加SetHandler "proxy:fcgi://localhost:9000"(若使用PHP-FPM的TCP监听),或LoadModule php_module modules/libphp.so(若使用mod_php)。

四、性能优化配置(OPcache)

OPcache通过缓存编译后的PHP字节码提升性能,需安装php-opcache扩展(sudo yum install php-opcache)并在php.ini中配置:

  • [opcache]段关键配置:opcache.enable=1(开启OPcache)、opcache.memory_consumption=128(缓存内存大小,如128M)、opcache.max_accelerated_files=4000(最大加速文件数,根据项目文件数量调整)、opcache.revalidate_freq=60(缓存验证频率,单位秒,如60秒)。

五、安全配置

  • 禁用危险函数:在php.ini中设置disable_functions(如phpinfo, passthru, exec, system, shell_exec),防止恶意代码执行。
  • 隐藏PHP版本:在php.ini中设置expose_php=Off,避免暴露PHP版本信息。
  • SELinux与防火墙:调整SELinux策略(如setenforce 0临时关闭,或semanage port -a -t http_port_t -p tcp 9000允许PHP-FPM端口),并通过firewall-cmd开放Web端口(如80/443)。

以上配置项覆盖了CentOS下PHP环境的核心设置,需根据实际应用需求(如内存大小、并发量、安全要求)调整参数值,并在修改后重启对应服务(sudo systemctl restart php-fpmsudo systemctl restart nginx/apache)使配置生效。

0