php配置项有哪些centos
导读:CentOS系统中PHP的主要配置项分类及说明 一、核心配置文件位置 CentOS系统中,PHP的主配置文件通常位于/etc/php.ini(PHP 7.x/8.x版本),部分配置也可能分散在/etc/php.d/目录下的扩展模块配置文件中...
CentOS系统中PHP的主要配置项分类及说明
一、核心配置文件位置
CentOS系统中,PHP的主配置文件通常位于/etc/php.ini(PHP 7.x/8.x版本),部分配置也可能分散在/etc/php.d/目录下的扩展模块配置文件中(如opcache.ini)。修改配置后需重启PHP服务(如php-fpm或Apache/Nginx)使更改生效。
二、错误报告与日志配置
用于控制PHP错误的显示、记录及日志路径,是调试和运维的关键配置:
error_reporting:设置错误报告级别,生产环境建议使用E_ALL & ~E_NOTICE & ~E_STRICT(仅显示致命错误和警告),开发环境可使用E_ALL(显示所有错误)。display_errors:是否在浏览器中显示错误信息,生产环境必须设置为Off(避免敏感信息泄露),开发环境可设为On。log_errors:是否将错误记录到日志文件,建议设为On(便于后续排查问题)。error_log:指定错误日志文件的路径,例如/var/log/php_errors.log(需确保PHP进程对该目录有写入权限)。cgi.fix_pathinfo:修复CGI脚本路径信息,建议设为0(防止恶意路径遍历攻击)。
三、资源限制配置
用于控制PHP脚本的资源使用,避免单个脚本占用过多服务器资源:
memory_limit:脚本可使用的最大内存量,例如128M(根据应用需求调整,如WordPress等CMS建议设置为256M以上)。max_execution_time:脚本最大执行时间(单位:秒),例如30(生产环境可根据业务调整,如上传大文件的脚本可设置为300)。post_max_size:POST请求允许的最大数据量(单位:字节),需大于等于upload_max_filesize,例如8M。upload_max_filesize:单个上传文件的最大大小(单位:字节),例如2M(如需上传大文件,可调整为64M或更高)。max_input_vars:每个请求可接收的最大输入变量数量(如表单字段),例如1000(避免变量过多导致内存溢出)。
四、会话管理配置
用于控制会话(Session)的存储方式和路径:
session.save_handler:会话存储方式,默认为files(文件存储),也可设置为redis或memcached(分布式环境推荐)。session.save_path:会话文件存储路径,例如/tmp(需确保目录可写,权限设为733)。session.cookie_lifetime:会话Cookie的生存时间(单位:秒),0表示浏览器关闭时失效,如需长期会话可设置为86400(1天)。
五、安全性配置
用于提升PHP应用的安全性,防止恶意攻击:
expose_php:是否暴露PHP版本信息,建议设为Off(隐藏版本号,减少针对性攻击)。disable_functions:禁用危险函数(如执行系统命令的函数),生产环境建议禁用exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec等(避免被黑客利用执行恶意命令)。open_basedir:限制PHP脚本可访问的目录(如/var/www/html/:/tmp/),防止脚本越权访问系统文件(需根据应用目录调整)。allow_url_fopen:是否允许通过URL打开远程文件(如file_get_contents('http://example.com')),建议设为Off(避免远程文件包含漏洞)。
六、性能优化配置
用于提升PHP脚本的执行效率,减少资源消耗:
opcache.enable:是否启用OPcache(PHP字节码缓存),建议设为1(显著提升脚本执行速度,减少CPU占用)。opcache.memory_consumption:OPcache使用的内存大小(单位:MB),例如128(根据服务器内存调整,如16GB内存可设置为256)。opcache.max_accelerated_files:OPcache可缓存的脚本文件数量,例如4000(需大于应用中的脚本文件总数)。opcache.revalidate_freq:OPcache检查脚本更新的时间间隔(单位:秒),例如60(每60秒检查一次,平衡性能与代码更新及时性)。realpath_cache_size:真实路径缓存大小(单位:字节),例如4096K(提升文件路径解析速度,减少IO操作)。
七、数据库连接配置
用于配置PHP与数据库的连接参数(如MySQL):
mysqli.default_host:默认MySQL主机地址,例如localhost(本地数据库)。mysqli.default_user:默认MySQL用户名,例如root(数据库管理员账号)。mysqli.default_pw:默认MySQL密码,例如your_password(需确保密码安全,避免明文存储)。pdo_mysql.default_socket:默认MySQL套接字文件路径,例如/var/lib/mysql/mysql.sock(根据MySQL安装路径调整)。
八、PHP-FPM特定配置(若使用PHP-FPM)
若通过PHP-FPM(FastCGI进程管理器)运行PHP,还需配置以下参数(位于/etc/php-fpm.d/www.conf):
listen:PHP-FPM监听地址,可选择127.0.0.1:9000(TCP端口)或/var/run/php-fpm/php-fpm.sock(Unix套接字,性能更好)。user/group:PHP-FPM运行的用户和组,需与Web服务器(如Nginx的nginx用户、Apache的apache用户)一致,例如user = nginx、group = nginx。pm:进程管理器类型,推荐dynamic(动态调整进程数)。pm.max_children:最大子进程数,根据服务器内存调整(如1GB内存可设置为20,公式:内存大小 / 单个进程内存限制)。pm.start_servers:启动时的子进程数,建议设置为pm.max_children的1/4(如5)。pm.min_spare_servers:最小空闲进程数,避免请求到来时频繁创建进程(如5)。pm.max_spare_servers:最大空闲进程数,避免进程闲置浪费资源(如10)。pm.max_requests:每个子进程处理的最大请求数,达到后重启(避免内存泄漏,如500)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: php配置项有哪些centos
本文地址: https://pptw.com/jishu/734640.html
