php笔记

disable_function = 让某些函数失效,exec 等

expose_php = off 不显示PHP 装在什么服务器上。
max_execution_time = 30每个脚本最大执行时间。秒记
memory_limit = 8388608 8M 一个脚本最大可以使用的内存总量

display_errors = off 显示错误信息作为输出部分。 用错误日志代替。
error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒
log_errors = Off ; 在日志文件里记录错误(服务器指定的日志,stderr标准错误输出,或error_log(下面的))
error_log = filename ; 记录错误日志于指定文件
track_errors = Off ; 保存最近一个 错误/警告 消息于变量 $php_errormsg (boolean)
;error_log = syslog ; 记录错误日志于系统日志 syslog (NT 下的事件日志, Windows 95下无效)
variables_order = " EGPCS" ; 这条指示描述了PHP 记录
; GET, POST, Cookie, Environment and Built-in 这些变量的顺序。
; (以 G, P, C, E & S 代表,通常以 EGPCS 或 GPC 的方式引用)。
; 按从左到右记录,新值取代旧值。
register_globals = On ; 是否将这些 EGPCS 变量注册为全局变量。
; 若你不想让用户数据不在全局范围内混乱的话,你可能想关闭它。
; 这和 track_vars 连起来用更有意义 — 这样你可以通过
; $HTTP_*_VARS[] 数组访问所有的GPC变量。一把不不用这个。

register_argc_argv = On ; 这条指示告诉 PHP 是否声明 argv和argc 变量
; (注:这里argv为数组,argc为变量数)
; (其中包含用GET方法传来的数据)。
; 若你不想用这些变量,你应当关掉它以提高性能。

CLi 中 main 函数 C的输入变量,关掉。
; Magic quotes
magic_quotes_gpc = On ; 在输入的GET/POST/Cookie数据里使用魔术引用
; (原文就这样,呵呵,所谓magic quotes 应该是指用转义符加在引用性的控制字符上,如 '…)
magic_quotes_runtime= Off ; 对运行时产生的数据使用魔术引用,
; 例如:用SQL查询得到的数据,用exec()函数得到的数据,等等
magic_quotes_sybase = Off ; 采用 Sybase形式的魔术引用(用 ‘’ 脱出 ’ 而不用 ')

; 自动在 PHP 文档之前和之后添加文件
auto_prepend_file =
auto_append_file =

; 象4.04b4一样,PHP 默认地总是在 “ Content-type:” 头标输出一个字符的编码方式。
; 让输出字符集失效,只要设置为空。
; PHP 的内建默认值是 text/html
default_mimetype = " text/html"
;default_charset = " iso-8859-1"

include_path = ; include 路径设置,UNIX: " /path1:/path2" Windows: " \path1;\path2"
doc_root = ; php 页面的根路径,仅在非空时有效
user_dir = ; 告知 php 在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效
;upload_tmp_dir = ; 存放用HTTP协议上载的文件的临时目录(在没指定时使用系统默认的) 上载文件存放目录
upload_max_filesize = 2097152 ; 文件上载默认地限制为2 Meg 文件上载的文件限制大小
extension_dir = c:\php\ ; 存放可加载的扩充库(模块)的目录 存放扩展库的目录。
enable_dl = On ; 是否使dl()有效。 运行时载入扩展文件dl(“php_sqlite.dll”);
; 在多线程的服务器上 dl()函数不能很好地工作,
; 例如IIS or Zeus,并在其上默认为禁止

file_uploads = On ; 是否允许HTTP方式文件上载
;upload_tmp_dir = ; 用于HTTP上载的文件的临时目录(未指定则使用系统默认)
upload_max_filesize = 2M ; 上载文件的最大许可大小

allow_url_fopen = On ; 是否允许把URLs当作http:… 或把文件当作ftp:…

define_syslog_variables = Off ; 是否定义各种的系统日志变量
; 如:$LOG_PID, $LOG_CRON, 等等。
; 关掉它是个提高效率的好主意。
; 运行时,你可以调用函数define_syslog_variables(),来定义这些变量

mysql.allow_persistent = On ; 允许或禁止 持久连接
mysql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制
mysql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制
mysql.default_port = ; mysql_connect() 使用的默认端口,如不设置,mysql_connect() 用PDO吧,快些。
; 将使用变量 $MYSQL_TCP_PORT,或在/etc/services 下的mysql-tcp 条目(unix),
; 或在编译是定义的 MYSQL_PORT(按这样的顺序)

mysql.default_socket = ; 用于本地 MySql 连接的默认的套接字名。为空,使用 MYSQL 内建值

mysql.default_host = ; mysql_connect() 默认使用的主机(安全模式下无效)
mysql.default_user = ; mysql_connect() 默认使用的用户名(安全模式下无效)
mysql.default_password = ; mysql_connect() 默认使用的密码(安全模式下无效) PDO吧!!!

[Session] 设置到redis 去
session.save_handler = files ; 用于保存/取回数据的控制方式
session.save_path = C:\win\temp ; 在 save_handler 设为文件时传给控制器的参数,
; 这是数据文件将保存的路径。
session.use_cookies = 1 ; 是否使用cookies
session.name = PHPSESSID
; 用在cookie里的session的名字
session.auto_start = 0 ; 在请求启动时初始化session
session.cookie_lifetime = 0 ; 为按秒记的cookie的保存时间,
; 或为0时,直到浏览器被重启
session.cookie_path = / ; cookie的有效路径
session.cookie_domain = ; cookie的有效域
session.serialize_handler = php ; 用于连接数据的控制器
; php是 PHP 的标准控制器。
session.gc_probability = 1 ; 按百分比的’garbage collection(碎片整理)'进程
; 在每次 session 初始化的时候开始的可能性。
session.gc_maxlifetime = 1440 ; 在这里数字所指的秒数后,保存的数据将被视为
; '碎片(garbage)'并由gc 进程清理掉。 1440后将由GC回收期清理掉session数据。
session.referer_check = ; 检查 HTTP引用以使额外包含于URLs中的ids无效
session.entropy_length = 0 ; 从文件中读取多少字节
session.entropy_file = ; 指定这里建立 session id
; session.entropy_length = 16
; session.entropy_file = /dev/urandom
session.cache_limiter = nocache ; 设为{nocache,private,public},以决定 HTTP 的
; 缓存问题

session.cache_expire = 180 ; 文档在 n 分钟后过时
session.use_trans_sid = 1 ; 使用过渡性的 sid 支持,若编译时许可了
; --enable-trans-sid
url_rewriter.tags = " a=href,area=href,frame=src,input=src,form=fakeentry"

[Sockets]
sockets.use_system_read = On ; 使用系统的read() 函数替代 php_read()封装
; Local Variables: (局部变量)
; tab-width: 4
; End

PHP异步 pclose(popen("/home/xinchen/backend.php &", ‘r’)); pclose 表示要关闭这个进程文件指针。必须关闭 &符号表示后台执行。 r只读 和w只写,执行的时候r
popen会打开一个管道不会对后面的代码阻塞。后台执行

curl http://www.php.cn/php-weizijiaocheng-393305.html

fscokopen() 支持socket编程

$fp = fsockopen(“www.34ways.com”, 80, $errno, e r r s t r , 30 ) ; i f ( ! errstr, 30); if (! errstr,30);if(!fp) {
echo “ e r r s t r ( errstr ( errstr(errno)
\n”;
} else {
$out = “GET /index.php / HTTP/1.1\r\n”;
$out .= “Host: www.34ways.com\r\n”;
$out .= “Connection: Close\r\n\r\n”;

fwrite($fp, $out);
/*忽略执行结果
while (!feof($fp)) {
    echo fgets($fp, 128);
}*/
fclose($fp);

}

fputs();将内容写入一个打开的文件。

https://www.cnblogs.com/jkko123/p/6351604.html PHP thread 多线程

php-fpm 配置

1、进程数

pm = static // 使用方式;还有一个dynamic(动态)

pm.max_children = 300 // 静态方式下开启的php-fpm进程数量

pm.start_servers = 20 // 动态方式下的起始php-fpm进程数量

pm.min_spare_servers = 5 // 动态方式下的最小php-fpm进程数

pm.max_spare_servers = 30 // 动态方式下的最大php-fpm进程数量

2、最大处理请求数

pm.max_requests = 10240

最大处理请求数是指一个php-fpm的worker进程在处理多少个请求后就终止掉,master进程会重新respawn一个新的。
这个配置的主要目的是避免php解释器或程序引用的第三方库造成的内存泄露。

3、最长执行时间
request_terminate_timeout = 30

request_slowlog_timeout = 2
slowlog = log/$pool.log.slow

配置输出php-fpm慢日志,阀值为2秒
利用sort/uniq命令分析汇总php-fpm慢日志:

  1. if(!Ora_Logon($username, $password)){

  2. error_log(“Oracle数据库不可用!”, 0); //将错误消息写入到操作系统日志中

  3. }

  4. if(!($foo=allocate_new_foo()){

  5. error_log(“出现大麻烦了!”, 1, “. mydomain.com”); //发送到管理员邮箱中

  6. }

  7. error_log(“搞砸了!”, 2, “localhost:5000”); //发送到本机对应5000端口的服务器中

  8. error_log(“搞砸了!”, 3, “/usr/local/errors.log”); //发送到指定的文件中

php-fpm error log(php-fpm.conf 中配置,记录 php-fpm 进程的启动和终止等信息)
慢日志:可以看见哪些进程太慢 。

slowlog = log/$pool.log.slow 慢日志默认在php安装目录下的log目录里 在php-fpm.conf 中slowlog = 配置路径 request_slowlog_timeout = 3 设置阀值;
慢日志会记录哪个进程 哪个脚本 哪行代码 哪个函数执行过长。慢日志目录要手动创建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值