php常用配置

php常用配置,php版本5.6以上

php查看配置

php -v //版本
php -i //phpinfo
php -m //模块
<?php
    phpinfo();
?>

php.ini

PHP的基本安全设置

# 关闭注册全局变量
register_globals = Off

# 关闭PHP版本信息在http头中的泄漏
expose_php = Off

# 禁用特定的函数。
disable_functions = phpinfo,system,exec,shell_exec,passthru,popen,dl,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

# 不在页面上显示错误信息,记录错误日志到文件
display_errors = Off
error_reporting = E_WARNING & E_ERROR
log_errors = On
error_log = /var/logs/php_error.log

# 是否允许打开远程文件
allow_url_fopen = Off

# 打开magic_quotes_gpc来防止SQL注入
magic_quotes_gpc = on 

设置上传文件大小

file_uploads = on
upload_max_filesize = 8M
post_max_size = 8M

设置时区

date.timezone = UTC

opcache

zend_extension=opcache.so
; 开关打开
opcache.enable=1

; 开启CLI
opcache.enable_cli=1

; 可用内存, 酌情而定, 单位为:Mb
opcache.memory_consumption=128

; Zend Optimizer + 暂存池中字符串的占内存总量.(单位:MB)
opcache.interned_strings_buffer=8

; 对多缓存文件限制, 命中率不到 100% 的话, 可以试着提高这个值
opcache.max_accelerated_files=4000

; Opcache 会在一定时间内去检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, 定位为秒
opcache.revalidate_freq=60

; 打开快速关闭, 打开这个在PHP Request Shutdown的时候回收内存的速度会提高
opcache.fast_shutdown=1

php-fpm配置

查看启用的配置项

grep -v "^;" /usr/local/php/etc/php-fpm.conf

进程配置

# 进程的发起用户和用户组,用户user是必须设置,group不是
user = www
group = www
# 监听ip和端口
listen = 127.0.0.1:9000

子进程

static:表示在 php-fpm 运行时直接 forkpm.max_chindren 个子进程,只有pm.max_chindren有效;

dynamic:表示,运行时 forkstart_servers 个进程,随着负载的情况动态调整,最多不超过 max_children 个进程。

pm.max_children:静态方式下开启的php-fpm进程数量;

pm.start_servers:动态方式下的起始php-fpm进程数量;

pm.min_spare_servers:动态方式下的最小php-fpm进程数量;

pm.max_spare_servers:动态方式下的最大php-fpm进程数量。

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

php慢日志

; - 'slowlog'
; The log file for slow requests
; Note: slowlog is mandatory if request_slowlog_timeout is set
slowlog = log/$pool.log.slow
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
request_slowlog_timeout = 1
web64 php7