php.ini优化,,,php-fpm

无论是apache还是nginx,php.ini都是合适的。而php-fpm.conf适合nginx+fcgi的配置。

1)打开PHP的安全模式

PHP的安全模式是个非常重要的PHP内嵌的安全机制,能够控制一些PHP中的函数执行,
比如system(),同时把很多文件操作的函数进行了权限的控制。

safe_mode = Off
打开时,PHP将检查当前脚本的拥有者是否和被操作的文件的拥有者相同
safe_mode = On

2)用户组安全

当safe_mode打开时,safe_mode_gid被关闭,那么php脚本能够对文件进行访问,而且相同组的用户也能够对文件进行访问。建议设置为:safe_mode_gid = Off
如果不进行设置,可能我们无法对我们服务器网站目录下的文件进行操作了,比如我们需要对文件进行操作的时候。php5.3.27默认为Off

3)关闭危险函数

如果打开了安全模式,那么函数禁止是可以不需要的,但是我们为了安全考虑,,比如,我们觉得不希望执行包括system()等在那的能够执行命令的PHP函数,或者能够查看PHP
信息的phpinfo()等函数,那么我们可以禁止它们:

disable_functions = system,passthru,exec,shell_exec,popen,phpinfo

4)关闭PHP版本信息在http头中的泄漏
expose_php = On
建议设置为:safe_mode_gid
expose_php = Off

5)关闭注册全局变量
在php中提交的变量,包括使用post或者get提交的变量,都将自动注册为全局变量,能够直接访问,这是对服务器非常不安全的
register_globals = Off

6)防止sql注入
magic_quotes_gpc = Off
这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,比如把‘转为\‘等,这对防止sql注入有重大作用
magic_quotes_gpc = On

7)错误信息控制
display_errors = Off
如果你确实是要显示错误信息,一定要设置显示错误的级别,比如只显示警告以上的信息
error_reporting

8)错误日志
建议在关闭display_errors后能够把错误信息记录下来,便于查找服务器运行的原因
log_errors = On
同时也要设置错误日志存放的目录,建议跟apache的日志存放在一起
error_log = /app/logs/php_error.log
文件必须允许apache用户的和组具有写的权限。

9)部分资源限制参数优化
9.1)设置每个脚本运行的最长时间
当无法上传较大的文件或者后台备份数据经常超时:
max_execution_time = 30
每个脚本最大允许执行时间(秒),0表示没有限制。
这个参数有助于阻止劣质脚本无休止的占用服务器资源。
该指令仅影响脚本本身的运行时间,任何其他花费在脚本运行之外的时间。
如用system()/sleep()函数的使用、数据库查询、文件上传等,都不包括在内。
在安全模式下,你不能用ini_set()在运行时改变这个设置。

9.2)每个脚本使用的最大内存
memory_limit = 128M
一个脚本所能够申请到的最大内存字节数(可用使用K和M作为单位)。
这有助于防止劣质脚本消耗完服务器上的所有内存。
要能够使用该指令必须在编译时使用“--enable-memory-limit”配置选项。
如果要取消内存限制,则必须将其设为-1。
设置了该指令后,memory_get_usage()函数将变为可用。

9.3)每个脚本等待输入数据最长时间
max_input_time = -1
每个脚本解析输入数据(POST,GET,upload)的最大允许时间(秒)
-1表示不限制
设置为:
max_input_time = 60

9.4)上载文件的最大许可大小
当上传较大文件时,需要调整如下参数:
upload_max_filesize = 2M;
上载文件的最大许可大小,自己改吧,一些图片论坛需要这个更大的值。

10)部分安全参数优化
10.1)禁止打开远程地址,php include的那个漏洞,就是在一个php程序中include了变量
,那么入侵者就可以利用这个控制服务器在本地执行远程的一个php程序,例如phpshell
所以要关闭
allow_url_fopen = Off

10.2)防止Nginx文件类型错误解析漏洞
cgi.fix_pathinfo=0

11)调整php sesson信息存放类型和位置
session.save_handler = files
存储和检索与会话关联的数据的处理器名字。默认为文件“files”
如果想要使用自定义的处理器(如基于数据库的处理器),可用"user"
设为“memcache”则可以使用memcache作为会话处理器(需要指定“--enable-memcache-session”)
session.save_path="/tmp"
传递给存储处理器的参数。对于files处理器,此值是创建会话数据文件的路径

Web集群session共享存储设置:
默认php.ini中session的类型和配置路径:
#session.save_handler = files
#session.save_path = "/tmp"
修改成如下配置:
session.save_handler = memcache
session.save_path = "tcp://192.168.1.1:1234"
提示:
1)192.168.1.1:1234为memcached数据库缓存的ip及端口。
2)上述适合lnmp,lamp环境。
3)memcached服务器也可以是多台通过hash调度。

关于php-fpm的参数调优,可以查看本机里面的文件。

pid = /app/logs/php-fpm.pid
error_log = /app/logs/php-fpm.log
log_level = error
rlimit_files = 32768
events.mechanism = epoll
listen.owner = nginx
listen.group = nginx
pm.max_children = 1024
pm.start_servers = 16
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.process_idle_timeout = 15s;
pm.max_requests = 2048
;access.format = %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%
slowlog = /app/logs/$pool.log.slow
request_slowlog_timeout = 10
php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f [email protected]

时间: 2024-10-18 16:32:02

php.ini优化,,,php-fpm的相关文章

eclipse.ini 优化

参考如上内容用的eclipse.ini: 1.小内存,运行情况不错 -clean-startupplugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar--launcher.libraryplugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20130807-1835-productorg.eclipse.epp.package.cpp.product--launc

mysql for windows之my.ini优化

  1, 查看MySQL服务器配置信息 mysql> show variables; 2, 查看MySQL服务器运行的各种状态值 mysql> show global status; 3, 慢查询 mysql> show variables like '%slow%'; +------------------+-------+ | Variable_name    | Value | +------------------+-------+ | log_slow_queries | OF

mysql配置文件my.ini优化详解

mysql 5.5.13参数说明:[client]character-set-server = utf8port = 3306socket = /data/mysql/3306/mysql.sock[mysqld]character-set-server = utf8user = mysqlport = 3306socket = /data/mysql/3306/mysql.sockbasedir = /usr/local/webserver/mysqldatadir = /data/mysql

php引擎文件php.ini优化参数

无论是Apache环境还是nginx环境,php.ini都适合,php-fpm.conf适合nginx+fcgi的配置. 生产环境php.ini(php.ini-production) php.ini-developmentphp.ini-production #  vim /application/php/lib/php.ini  (1) PHP函数禁用找到: disable_functions = 该选项可以设置哪些PHP函数是禁止使用的,PHP中有一些函数的风险性还是相当大的,可以直接执行

mysql优化-数据库优化、SQL优化

我有一张表w1000,里面有1000万条数据,这张表结构如下:CREATE TABLE `w1000` ( `id` varchar(36) NOT NULL, `name` varchar(10) DEFAULT NULL, `age` int(3) DEFAULT NULL, `money` double(8,2) DEFAULT NULL, `address` varchar(100) DEFAULT NULL, `create_date` datetime(3) DEFAULT NULL

mySQL内存及虚拟内存优化设置

为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆.网上搜索了一下,得到高人指点my.ini.再也没见再详细的了..只好打开my.ini逐行的啃,虽然英文差了点,不过多少M还是看得明的^-^ 更改后如下: innodb_buffer_pool_size=576M ->256M InnoDB引擎缓冲区占了大头,首要就是拿它开刀 query_cache_size=100M          ->16M 查询缓存 tmp_table_size=102M       

ubuntu php.ini文件位置

[email protected] > locate php.ini/etc/php5/cli/php.ini/etc/php5/fpm/php.ini

httpd结合php的fpm模式

httpd2.4版本的编译安装,不再赘述,查看上一篇:http://www.cnblogs.com/jsonhc/p/7134053.html 从官网下载php源码包:php-5.6.30.tar.bz2 1.安装必要的依赖包 yum install -y libxml2 libxml2-devel bzip2-devel libjpeg-devel  libpng-devel freetype-devel 安装:libmcrypt wget ftp://mcrypt.hellug.gr/pub

php的调试级别

Lv0 查看PHP错误信息 程序没有达到预期效果,证明代码出错了,看PHP的错误信息是第一步.如果直接忽略错误信息,表明这个人不适合担任专业的程序员岗位.有些情况下php.ini配置中关闭了错误显示,需要修改php.ini打开错误信息,或者错误信息被导出到了日志文件,这种情况可以直接tailf php_error.log来看错误信息. 拿到错误信息后直接定位到程序代码问题,或者到Google/百度搜索,即可解决问题. 注:打开错误显示的方法是 php.ini中display_errors / d